关于linux:linux中vivim操作技巧

3次阅读

共计 1918 个字符,预计需要花费 5 分钟才能阅读完成。

配置 vim

  • /etc/vimrc配置项全局失效, 对所有用户失效
  • .vimrc家目录下, 只针对某个用户失效
> vim /etc/vimrc
set number     #显示行号
set autoindent #主动缩进
set nowarp     #不换行

退出 vim 编辑器

保留退出

应用 Vim 编辑器保留并退出编辑状态是一件轻而易举的事,你只需记住按 ESC 键切换到失常模式,而后输出冒号 (:),之后输出wq 即可实现保留并退出。

> vim rumenz.txt
123
:wq

间接退出

如果不想保留,则按 ESC 键切换到失常模式,而后输出冒号(:),之后输出 q! 即可。

> vim rumenz.txt
123
:q

删除一行或者多行

通过退格键 (Backspace) 来删除一行代码显然是太麻烦了。能够通过切换到失常模式 (编辑模式下按 ESC 键) 来进行操作:

  • dd: 输出两次 dd 删除以后行。
  • 3dd: 从以后行开始删除 3 行。
  • dG:(先输出 d,而后按 shift 键输出 g)删除以后行至最初一行的所以行。

复制粘贴一块代码

你可能常常须要复制一行或一大块代码,应用 Vim 快捷键来实现此性能是非常简单的:

  • 按 Esc 切换到失常模式;
  • 把光标移到你须要复制的代码行首;
  • 按 V 抉择整行,可挪动光标抉择多行;
  • 按 d 剪切或按 y 复制抉择的代码;
  • 挪动光标到你须要粘贴的地位,按 p 粘贴代码到光标后的地位,或按 P 粘贴到光标前。

撤销与重做

在应用 Vim 或其余编辑器的时候,你可能常常须要对某些批改进行撤销或重做。在 Vim 中,你能够切换到失常模式,按 u 来撤销操作,按 Ctrl+r 来重做。

代码正文

代码正文

  • 按 Ctrl+v 切换到可视化模式;
  • 挪动光标 (j 或 k) 选中须要正文的行的结尾;
  • 按大写 I,而后输出正文符,如 #;
  • 最初按 Esc。

勾销正文

  • 按 Ctrl+v 切换到可视化模式;
  • 按 j 或 k 抉择要删除的正文符;
  • 按 d 或 x 删除正文符

搜寻

搜寻在很多时候都是一个十分重要的性能。在文件中搜寻一个特定的词,能够切换到失常模式,而后输出斜线/,之后跟上要搜寻的词,回车即可。

> vim rumenz.txt

/rumenz

按 n 显示下一个搜寻后果,按 N 显示上一个搜寻后果。

把内部文件读入 vim

我开始应用vim 的时候,常常会关上一个文件、复制内容、敞开文件、关上另一个文件、而后粘贴进去复制到内容。其实 Vim 中读取另一个文件的内容十分不便。切换到失常模式,而后按:read <File Name>。应用此快捷键你不须要手动关上文件来复制内容。

> vim rumenz.txt

:read readme.md

把命令的后果读入 vim

切换到失常模式,而后输出:read !command 即可把 command 的后果输出到 vim 中。

> vim rumenz.txt

:read !pwd

切换到上次批改的地位

想晓得你在文件中做的最初一次批改是在什么地位?切换到失常模式,输出 g; 来即可切换到上次批改的地位。

挪动到文件顶部或者尾部

切换到失常模式,输出 gg 返回文件顶部,输出 G 返回文件底部。

切换到以后行的行首或者行尾

失常模式, 输出 $ 跳到以后行的行尾。输出 0 跳到以后行的行首。

vim 中以 16 进制查看文件

失常模式下, 输出 :%!xxd 会把以后文本转换成 16 进制

> vim rumenz.txt
123
:%!xxd

复原到失常模式

> vim rumenz.txt
123
:%!xxd -r

大小写敏感查找

在查找模式中退出 \c 示意大小写不敏感查找,\C 示意大小写敏感查找

> vim rumenz.txt
123
/rumenz \c

将查找 rumenz,Rumenz,RUMENZ 等等

查找与替换

语法

:{作用范畴}s/{指标}/{替换}/{替换标记}

例如:%s/foo/bar/ g 会在全局范畴 (%) 查找 foo 并替换为 bar,所有呈现都会被替换(g)。

替换以后行

把以后行所有的 rumen 全副替换成 rumenz
:s/rumen/rumenz/g
只把以后行第一次呈现的 rumen 替换成 rumenz
:s/rumen/rumenz/

全局替换

把所有的 rumen 替换成 rumenz
:%s/rumen/rumenz/g
只把每一行第一次呈现的 rumen 替换成 ruemnz
:%s/rumen/rumenz/

5 到 10 行替换

5 到 10 行所有的 rumen 都替换成 rumenz
:5,10s/rumen/rumenz/g
5 到 10 行每一行第一次呈现 rumen 的替换成 rumenz
:5,10s/rumen/rumenz/

以后行与接下来 3 行 rumen 全副替换

:.,+3s/rumen/rumenz/g

每一行前面追加123

:%s/$/123/

每一行后面加#, 增加正文

:%s/^/#/

删除每一行结尾的#, 删除正文

:%s/^#//

原文链接:https://rumenz.com/rumenbiji/…
微信公众号: 入门小站

正文完
 0