[分享]vim常用命令
本帖最后由 爆炒小提莫 于 2018-4-6 16:51 编辑写帖子来记录一些常用和常忘记的知识,有缘人也可以一起学习。请原谅我的排版{:17_1067:}
vim编辑工具很强大,powerful
命令模式命令模式下,我们可以执行保存文件、在 vim 内运行命令、复制/剪切/粘贴操作,以及查找/替换等任务。当我们处于插入模式时,我们可以按下 Escape(Esc)键返回命令模式
插入模式在插入模式下,我们可以键入文件内容。在命令模式下按下 i 进入插入模式。创建文件我们可以通过下述命令建立一个文件(LCTT 译注:如果该文件存在,则编辑已有文件):vim filename如: vim test.txt
一旦该文件被创建或者打开,我们首先进入命令模式,我们需要进入输入模式以在文件中输入内容。我们通过前文已经大致上了解这两种模式。退出 Vim如果是想从插入模式中退出,我们首先需要按下 Esc 键进入命令模式。接下来我们可以根据不同的需要分别使用两种命令退出 Vim。
[*]不保存退出 – 在命令模式中输入 :q!
[*]保存并退出 – 在命令模式中输入 :wq
wq和q!非常重要,如果不确定自己操作了什么和不小心点了键盘哪里,一定要用q!退出重新操作也不能保存,这个是我的习惯,怕一个不小心出意外
u 撤销上一步的操作
Ctrl+r 恢复上一步被撤销的操作
移动光标下面我们来讨论下那些在命令模式中移动光标的命令和选项:
[*]k 将光标上移一行
[*]j 将光标下移一行
[*]h 将光标左移一个字母
[*]i 将光标右移一个字母注意:如果你想通过一个命令上移或下移多行,或者左移、右移多个字母,你可以使用 4k 或者 5j,这两条命令会分别上移 4 行或者右移 5 个字母。
[*]0 将光标移动到该行行首
[*]$ 将光标移动到该行行尾
[*]nG 将光标移动到第 n 行
[*]G 将光标移动到文件的最后一行
[*]{ 将光标移动到上一段
[*]} 将光标移动到下一段
除此之外还有一些命令可以用于控制光标的移动,但上述列出的这些命令应该就能应付日常工作所需。编辑文本这部分会列出一些用于命令模式的命令,可以进入插入模式来编辑当前文件
[*]i 在光标所在行的行首插入内容
[*]I 在光标所在行的行尾插入内容
[*]a 在当前光标之前插入内容
[*]A 在当前光标之后插入内容
[*]o 在当前光标所在行之前添加一行
[*]O 在当前光标所在行之后添加一行
删除文本以下的这些命令都只能在命令模式下使用,所以首先需要按下 Esc 进入命令模式,如果你正处于插入模式:
[*]dd 删除光标所在的整行内容,可以在 dd 前增加数字,比如 2dd 可以删除从光标所在行开始的两行
[*]d$ 删除从光标所在行开始的所有行
[*]d^ 删除从文件开始直到光标所在行的所有行
[*]dw 删除从光标所在位置直到下一个词开始的所有内容
复制与黏贴
[*]yy 复制当前行,在 yy 前添加数字可以复制多行
[*]p 在光标之后粘贴复制行
[*]P 在光标之前粘贴复制行
[*]按下v开始选取字符,按l向右选择,选好后按y复制,按d剪切,到目标位置按p粘贴
[*]搜素 模式: /something
当我们对Linux文件系统下的文件编辑时,很多新手老手都有可能出现一些失误,在对一个文件编辑或者改动,甚至是不小心按到键盘并没有发现改动到某处时,没有强制退出(:q!)就直接退出,导致文件变成了.swp后缀并隐藏起来。
在对源文件编辑时提示你只读,还原,退出等等。输入 ls -a或 ll -a 可以看到刚刚在编辑的文件变成了隐藏文件。
这时候想要恢复回原来的文件如何处理呢。不能通过直接修改隐藏文件名来达到恢复文件的效果,亲测文件乱码。
可以使用 vim -r xxxxx 然后 rm -rf .xxxx.swp ,然后就能正常编辑你原本的文件了。 其实可以使用 vim -r xxxx 进去再 :wq 退出编辑模式,改文件已经回复可编辑状态,你可以用 cat检查一下内容,再 rm -rf .xxxx.swp 删除掉隐藏文件后继续编辑源文件
其实,我觉得这两个命令挺重要的。
u 撤销上一步的操作
Ctrl+r 恢复上一步被撤销的操作
如果不小心,执行了某个操作,又不知道什么操作,就可以使用撤销这个命令。 iirf 发表于 2018-4-3 12:45
其实,我觉得这两个命令挺重要的。
u 撤销上一步的操作
Ctrl+r 恢复上一步被撤销的操作
好的,谢谢你的补充,有些我没用过和不知道的,我把它加进去,丰富它 {:1_919:}{:1_919:}{:1_919:}
{:1_919:}{:1_919:}
{:1_919:}
谢谢楼主,楼主好人 我只用过q!和wq{:1_907:} 多谢楼主分享 vim让我又爱又恨的编辑器啊。。{:1_937:}{:301_993:} 多谢分享! 本帖最后由 dreamenglei 于 2018-4-3 09:59 编辑
哈哈哈哈
老铁我也是,wq q!这俩命令走天下
还是得注重基础,好好学习哇。 dreamenglei 发表于 2018-4-3 09:57
哈哈哈哈
老铁我也是,wq q!这俩命令走天下
还是得注重基础,好好学习哇。
wq和q!非常重要,如果不确定自己操作了什么和不小心点了键盘哪里,一定要用q!退出重新操作也不能保存,这个是我的习惯,怕一个不小心出意外 谢谢楼主,楼主好人
页:
[1]
2