赞
踩
vim 是从vi发展出来的一个文本编辑器,可以执行增删改查等众多的文本操作。
说到vim我们就不得不提到一个铁三角模式。
普通/正常/命令行模式(Normal mode):
控制光标的移动,对行进行删除,复制等功能,移动复制某区段及进入Insert mode下,或者到 last line mode
编辑/插入模式(Insert mode):
进行文本内容的输入,这也是我们最常用的一种模式,毕竟我们以后是要用插入模式来编写代码的。
末行模式(Last line mode):
文件的保存或退出,文件替换,文件内容的查找,列出行号等功能。
刚刚我们提到了vim的铁三角模式,这个是非常重要的,接下来我们就看看这三种模式具体是如何切换的。
进入vim,我们可以先使用touch创建一个文件出来,比如touch test.cc,然后使用vim test.cc,打开该文件;
或者我们可以直接使用vim test.cc,该文件不存在也没关系,vim还自带创建出该文件。
命令行模式:
刚进入vim的全屏幕的编辑画面的时候,这时候的模式就是命令行模式。
命令行模式进入插入模式:
点击键盘上的a,i,o三个键的任意一个都可以,区别就是光标所在的位置不一样。
当左下角出现INSERT的时候,也就是处于插入模式了。
命令行模式进入底行模式:
输入:,就是进入底行模式了。
重点:所有的模式都是和命令行模式打交道的,是双向箭头,所以在其他模式下返回到命令行模式,直接无脑按ESC键即可。
在命令行模式下我们是不使用鼠标的,直接通过键盘来完成所有的操作。
早期的键盘:
那时候还没有我们现在的小键盘来控制光标的上下左右,我们通过HJKL来控制光标的移动。
h:向右移动一个字符。
j:向下移动一个行。
k:向上移动一行。
l:向右移动一个字符
记忆方法:h和l键分别在左右两侧,自然知道;j对应单词jump,向下的意思;k对于单词king,自然在上。
gg:光标定位到第一行。
shift+g:光标定位到最后一行。
数字+shift+g:光标定位到任意一行。
Shift+6(^):光标到当前行的开始。
Shift+4($):光标到当前行的结尾。
w:以单词为单位,向后移动,支持跨行。
b:以单词为单位,向前移动,支持跨行。
数字+yy:复制多行。
数字+p:粘贴多行。
dd:剪切。
u:撤销。
ctrl+r:撤销的恢复。
Shift+`(~):文本大小写替换。
差不多常用的命令就是这些了,多练习。
处于命令行模式,输入:,进入末行模式。
q:退出vim,如果退出不了vim,可以加上!,q!表示强制退出。
wq:保存文件并退出文件。
set nu:在vim左侧设置出行号。
查找字符:
/输入你要查找的字符,你可以一直按n(next),向下找你需要找的字符。
?输入你要查找的字符,你可以一直按n(next),向上找你需要找的字符。
在我们编写代码的时候,vs中我们都是通过//或者/**/来进行注释的,当然我们批量化注释的时候,使用鼠标选择内容,然后点击右上角的那个键,就可以一键批量化注释,非常的方便。
在vim中,我们也可以实现批量化注释,这就要说到另外一个模式了:视图模式。
在命令行模式下按下crtl+v即可进入视图模式。
批量化注释:在命令行模式下:输入crtl+v进入视图模式,使用j/k两个键选中内容,再shift+i(I),再输入//,最后按Esc键,即可完成批量化注释。
实操:
在目录/etc下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。
切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~。打开自己目录下的.vimrc文件,执行 vim .vimrc。
一款好看好用的vim,需要你自己安装各种插件。
这里有一个命令,一键配置c/c++的vim,非常的好用。
安装方法:sudo curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
卸载方法:bash ~/.VimForCpp/uninstall.sh
今天在写这篇文章的时候,无意间使用了ctrl+z,vim就会自动退出,如果你再次使用vim打来该文件,就会出现该情况:
当然你每次可以输入下面的选项进入vim,但是每次都要这么做,非常的烦。
这是因为,此时生成了一个隐藏文件。
第一种解决办法:把红框中的路径复制下来,然后使用rm 该路径,把这个隐藏文件给删除掉。
第二种解决办法:使用fg命令。
为什么使用fg命令呢?
ctrl+z
可以将前台执行的命令放到后台,并且暂停。
fg
可以将后台中的命令调到前台继续运行。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。