Vim使用方法简介:
Linux下的文本编辑器其实还是蛮多的。不过门槛各不相同。今天介绍的这个编辑器Vim就是属于门槛稍高一些的(要是没有门槛,能叫神器吗?哈哈!)。
在无图形界面的时代,Linux下文本编辑,非它莫属。操作熟练之后,一定会被惊为天人!
记得我读书时学的C。那个时候根本没有图形化界面的文本编辑器。使用Vim真的可以找回逝去的青春!哈哈!
0x01 Vim安装:
macos:brew install vim
Ubuntu:apt-get install vim
Centos:yum install vim
0x02 Vim模式及模式切换:
-
normal模式
该模式可以执行“保存”或“退出”等命令。
注:刚刚进入vim就是normal模式。
-
insert模式
该模式可以对文档进行编辑。
-
模式切换:
normal模式---->insert模式:
"i"键:进入insert模式,并在光标当前所在位置开始编辑
"a"键:进入insert模式,并在光标当前所在位置右侧一个字符的位置开始编辑
"o"键:进入insert模式,并在光标所在行的下方创建一个新行,光标移动到该新行的行首开始编辑
insert模式---->normal模式:Esc或者Ctrl+[
0x03 Vim的退出与保存:
-
退出:
在normal模式下:
“:”+“q”
如果不成功,则在最后加上"!"表示强制执行
-
保存并退出:
在normal模式下:
“:”+“w”+“q”
如果不成功,则在最后加上"!"表示强制执行
-
外挂:
Ctrl+z组合键可以将vim暂时外挂出去,暂时回到终端可以进行命令交互。然后在使用组合键fg来将其唤回。
0x04 Vim控制光标:
- 在normal模式下:h、j、k、l分别对应左、下、上、右这四个方向。每按动一次,则光标按照指定方向移动一个字符。
注:当然在normal模式下,小键盘区的上、下、左、右依然生效。每按动一次,则光标按照指定方向移动一个字符。
Vim-adventures.com这个网站可以通过小游戏来练习h、j、k、l这四个方向的光标移动。
-
在insert模式下:还是要用到小键盘区的上、下、左、右。每按动一次,则光标按照指定方向移动一个字符。
-
在normal模式下,"w"键可以使光标右移到下一个单词的首字母,如果中间有标点符号,则停留在标点符号上。
若想跳过标点符号,则可以使用"W"。
-
在normal模式下,"b"键可以使光标左移到下一个单词的首字母,如果中间有标点符号,则停留在标点符号上。
若想跳过标点符号,则可以使用"B"。
-
在normal模式下,"}"键可以使光标向后跳转到两个段落中间的空行行首。
-
在normal模式下,"{"键可以使光标向前跳转到两个段落中间的空行行首。
-
在normal模式下,"G"键可以使光标向后跳转到全部内容的末行行首。
-
在normal模式下,"gg"键可以使光标向前跳转到全部内容的首行行首。
-
在normal模式下,"0"键可以使光标向前跳转到本行行首。
-
在normal模式下,"$"键可以使光标向前跳转到本行行末。
-
在normal模式下,如果一行内容过长则会被vim折叠成多行显示(看似像一个段落,但实际上是一行)。此时如果使用"下"或者"J",光标会跳转到本行(看似像段落)的下一行。如果想实现光标在被折叠的同一行内上下跳转,可以使用"gk"或"gj"键。
0x05 Vim中的查找:
-
当找到目标内容后,可以在":"后面输入set hlsearch。该动作会将查找到的目标内容进行高亮处理(hlsearch中的hl,是high light的缩写)。
若要取消高亮可以在":"后面输入set nohlsearch。
注:如果想从全文最开始进行查找,可以先"gg"回到首行首位,再进行上述动作。
-
在normal模式下,"/“键会使光标移动到左下角。此时可以在”/"后面键入要查找的内容,然后enter确认。此时光标就会停留在距离进行查找动作之前光标所在位置最近的目标内容上。
-
在normal模式下,若想切换通过"/"键查找出来的多个相同目标内容,可以使用"n"键进行向下切换。
-
在normal模式下,若想切换通过"/"键查找出来的多个相同目标内容,可以使用"N"键进行向上切换。
-
在normal模式下,"?“键会使光标移动到左下角。此时可以在”?"后面键入要查找的内容,然后enter确认。此时光标就会停留在距离进行查找动作之前光标所在位置最近的目标内容上。
-
在normal模式下,若想切换通过"?"键查找出来的多个相同目标内容,可以使用"n"键进行向上切换。
-
在normal模式下,若想切换通过"?"键查找出来的多个相同目标内容,可以使用"N"键进行向下切换。
注:这里很有意思,"/“和”?"在同一个键位上。但是对这两种方式查找到的结果进行切换,方式完全相反。哈哈!好玩!
-
在normal模式下,如果某个单词比较长(当然短的也可以,这里只是模拟一个使用场景_),不想手工输入。则可以将光标停留在这个单词的任何一个字母上,然后按"*"键。会查找出全文所有的相同单词的位置。切换方式和使用 "/"查找的切换方式一样。
-
在normal模式下,如果某个单词比较长(当然短的也可以,这里只是模拟一个使用场景_),不想手工输入。则可以将光标停留在这个单词的任何一个字母上,然后按"#"键。会查找出全文所有的相同单词的位置。切换方式和使用 "?"查找的切换方式一样。
-
在normal模式下,如果想将光标快速移至后面某个字母的位置,可以使用"f"+“某字母”(组合键,"f"不松手)。
-
在normal模式下,如果想将光标快速移至后面某个字母的位置,可以使用"F"+“某字母”(组合键,"F"不松手)。
-
在normal模式下,"zz"可以是光标所在行处于终端的的中间位置。
-
在normal模式下,"zt"可以是光标所在行处于终端的顶部位置(t是top的缩写)。
-
在normal模式下,"zb"可以是光标所在行处于终端的底间位置(b是bottom的缩写)。
未完待续…