本文主要介绍了VIM编辑器的基本操作。
Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。
Vim是一款纯命令行操作、功能可扩展、高度可定制的文本编辑工具。对于新手来说,刚接触Vim,对这种纯命令行的操作的文本编辑模式可能很不适应;你可能连保存、退出都不知道怎么操作,此时鼠标也爱莫能助,怎么点也没有什么反应,真可谓叫”天天不灵,叫地地不灵“,最后干脆关掉重启。一但过了适应期,上手用熟之后,Vim定会让你尽享其中、无法自拔:当手指在键盘上健步如飞,各种命令信手拈来,此时的你才会感受到Vim的强大功能和高效便捷。让手指跟上你的思维的脚步。让节奏在你的指尖肆意流淌。再配上键盘中那清脆的敲击声。让你心旷神怡。此刻才会发现鼠标是多么的笨拙和多余,当你拖着鼠标满屏寻找保存、退出按钮时。你才会发现Vim的指随心动时多么的畅快。如果再搭配各种插件的安装和使用、各种快捷命令的按键映射、各种得心应手的配置,我们可以把Vim打造成类似Source Insight的IDE。
接下来就是进入Vim的操作学习之旅了
在Ubuntu环境下安装Vim很简单,如果你的Ubuntu操作系统是联网的,直接在Shell命令行中输入下面的命令即可完成安装
在ROOT模式下:
#apt-get install vim
在普通用户模式下:
$sudo apt-get install vim
不同的Linux/UNIX操作系统,Vim的安装可能不太一样,如在Fedora/centorOS或者macOS 下面我们使用下面的命令安装Vim
在Fedora/centorOS下指令:
#yum install vim
在macOS下指令:
#brew install vim
安装好之后,在Shell命令行中输入: vim。如果安装成功,就会启动Vim并弹出一个Vim界面,显示Vim的版本号。
#vim
省略
Vim有多种工作模式,不同的工作模式之间都可以通过命令来回切换,这会让我们浏览和编辑代码非常方便和贴心。
Vim常见的工作模式如下:
普通模式:打开文件时的默认模式,任何模式都可以通过按下ESC键返回到该模式。
插入模式:按下i/o/a键进入插入模式,进行文本编辑操作,不同之处在于插入字符的位置在光标之前还是之后。
命令行模式:在普通模式下按下(:)后会进入命令行模式,在该模式下可以输入各个指令。
可视化模式:在普通模式下按下(v)会进入可视化模式,在该模式下可以移动光标选中一块文本,然后进行复杂,剪切,删除,粘贴等文本操作。
替换模式:在普通模式下通过光标选中一个字符,然后按®键,在输入一个字符,这时候后面输入的字符会覆盖光标原来的字符。
Vim的操作其实就是光标的移动,文本的插入,删除,复制,粘贴,查找,替换,保存和退出等基本操作,就可以熟练使用Vim编辑文本了。
1. 单个字符的移动
2. 单词移动
3. 行移动
4. 屏幕移动
5. 文本的插入删除等操作
6. 文本的查找与替换
7. 文本的保存与退出
用户可以根据自己的实际需求和使用习惯灵活配置Vim。ps.当前用户使用Vim打开一个文本文件时,默认是不显示行号的。如果想显示行号,则可以在命令行模式下输入set nu命令。当然,也可以将这个命令写入Vim的配置文件中。这样做的好处是,当用户使用Vim打开文本文件时,就不用每次都输入显示行号的命令了。
Vim配置文件分为系统级配置文件和用户级配置文件。用户级配置文件只对当前用户有效,一般位于$HOME/.vimrc或者~/.vim/vimrc路径下。系统级配置文件对所有用户都有效,一般位于/etc/vim/vimrc路径下。
使用vim打开,将set nu插入vimrc文件中,这时每次启动都会自动显示行号了。
注:vimrc文件中( ” 为注释行)
现在的IDE一般都支持括号的自动补全功能:在我们编写程序的时候,当遇到小括号、中括号或者花括号时,IDE一般都会自动补全,并将光标移动到括号中。在Vim的插入模式下,我们可以通过按键映射,同样可以实现括号的自动补全功能。
在vimrc文件中添加按键映射命令:
inoremap [ []<Esc>i
inoremap ] []<Esc>i
inoremap ( ()<Esc>i
inoremap ) ()<Esc>i
inoremap " ""<Esc>i
inoremap { {<CR>}<Esc>0
inoremap } {<CR>}<Esc>0
以第一个按键映射为例, 当用户在Vim的插入模式下输入左中括号([)时,通过按键映射,Vim会自动补全一对中括号([]),然后通过Esc 键返回到Normal 模式,最后通过i键再次进入插入模式,将光标移动到中括号中, 方便用户继续输入字符。大括号的按键映射也是如此, 当用户输入(定义一个函数或代码块时,大括号会自动补全,回车换行,并将光标移动到下一行行首,方便用户继续输入代码。 保存好.vimrc 配置文件后,我们重新使用Vim 打开一个文件,在插入模式下输入小括号或大括号, 你会发现Vim 可以自动补全了,并将光标自动移动到了括号内,方便用户继续输入。
Vim在Normal 工作模式下,可以通过按键h、j、K、1来移动光标, 但是在插入模式下,这些按键就不能作为方向键使用了,用户需要使用键盘中的方向键来移动光标。 由于方向键的键程较我们的右手需要在字符键和方向键之间来回移动切换,十分不方便。为了提高输入效率,我们可以通过组合键映射,在插入模式下使用组合键Crrl+h、 Ctrl+j、 Curl+k、Cul+l来移动光标。
inoremap <C-H> <Esc>ha
inoremap <C-J> <Esc>ja
inoremap <C-K> <Esc>ka
inoremap <C-L> <Esc>la
除了通过vimrc配置文件来定制功能,Vim 还支持通过插件来扩展功能。在Vim的官方网站上有很多xx.vim格式的插件供用户下载使用。如果想要通过插件来扩展Vim功能,先要在当前用户下创建一个~/.vim/pligin目录,然后将xx.vim格式的插件复制到这个目录,在$HOME/.vimrc配置文件里对这些插件进行配置,就可以直接使用了。
https://baike.baidu.com/item/Vim/60410?fr=aladdin 百度百科
https://blog.csdn.net/qq_33893590/article/details/120110346 vim的使用【CSDN】
《嵌入式C语言的自我修养》 1.1节