三、vim基础
1、学习vim:
vim --version:查看vim的版本
默认状态下vim是normal状态,你的键盘输入的是命令,而不是输入的文本。
敲入":",vim会认为你要输入特殊命令,例如“:wq”、强制退出":q!"。
敲入":q",退出vim,文件有变化会认为退出失败。
敲入":q!",强制退出vim,不存盘。
敲入":x",存盘并退出(有变化的时候才存盘)。
w是存盘、q是退出。
":w test.cpp",写入文件并命名为test.cpp。
敲入"ZZ",存盘并退出,光标不移动到底部。
在normal状态下,按i(光标前),a(光标后),o(光标下一行),O(光标上一行),A(光标行尾部)。
按i键,从normal状态进入insert编辑状态。
按ESC键进入到normal状态。
当你不确认自己所在状态的时候,按ESC键回到normal状态。
normal状态下使用hjkl移动光标,hl是左右,jk是下上。也可以使用方向键。
在编辑状态,与一般编辑器一样用退格键或者删除键删除字符。
在normal状态,用x删除光标所在字符。
在normal状态,用dd删除光标所在的整个一行。用.重复上一个有改变文本的命令(默认的单行移动光标不算)。
在normal状态,敲入":help"得到帮助文档。
在normal状态,输入0向左移动到行首部的第一个可操作字符,输入$向右移动到行尾部的最后一个可操作字符。
在normal状态,输入^移动到行首部第一个非blank字符的位置,输入g_移动到行尾部最后一个非blank字符的位置,所谓blank字符就是空格、tab、换行、回车等。
在normal状态,输入o在当前行后插入一个新行,输入O在当前行前插入一个新行。
在normal状态,输入"/查找的字符+回车",向下移动到第一个查找字符位置的位置,如果查找的字符不存在,光标不移动。输入"?查找的字符+回车",向上移动到第一个查找字符位置的位置,如果查找的字符不存在,光标不移动。
在normal状态,输入":set hlsearch"高亮查找的结果,光标在第一个出现字符的位置。输入n向下移动到上次查找字符组的下一个位置。输入N向上移动到上次查找字符组的下一个位置。
在normal状态,输入"ddp"交换两行的位置。dd是删除,p是粘贴。ddp实际上是两个命令。
在normal状态,输入"yy"复制光标所在行的内容。y是yank复制的意思。
在normal状态,输入u相当于ctrl+z。
n<command>:重复某个命令n次。例如。2dd删除光标所在行及其以下一行。
在normal状态,输入":set number"显示行号。
2G跳转到文本第2行。":2加回车“也是一样的实现。
gg跳转到文本第1行。G跳转到文本最后一行。
w到下一个单词的开头,e到下一个单词的结尾。
W到下一个单词块的开头。
%光标移动到匹配括号(包括()、{}、[])的地方,常用于匹配大括号。
*匹配光标所在的单词(只会匹配完整的单词),移动光标到下一个匹配单词。
#匹配光标所在的单词(只会匹配完整的单词),移动光标到上一个匹配单词。
在normal状态,按v进入visual模式,可以移动光标选择范围,运行命令是针对选项范围的。相当于windows按住鼠标左键选中一片区域。
在normal状态,按fx到该行下一个为x的字符处。按tx到该行x前的第一个字符。按Fx到该行上一个为x的字符处。按Tx到该行前面x前的第一个字符。
用dtx删除当前光标到x字符的内容。
在normal状态,光标在两个""之间,按vi"会选择两个""之间不包含引号的内容。按va"会选择两个""之间包含引号的内容。
在normal状态,按ctrl v进入visual block模式(windows进入这个可视化块模式是按ctrl q)。按j选择行,然后按大写I进入插入模式,然后在某一行输入你要输入的内容。然后按esc,然后会在刚刚选中的块中的每一行加入输入的内容。一般用于多行一起加//注释。
如果想去掉多行的//注释,按ctrl v进入visual block模式,然后按l右移、j下移选中,然后按d删除。
在insert模式下,输入一个词的开头,然后按ctrl p或者ctrl n来提示,相当于代码自动补全功能。
在visual模式下,选中行,然后按=自动格式对齐前一行,相当于代码自动缩进。
在normal状态,按shift v进入visual line模式后,如果按上下键,则每次是选中一整行。
在normal状态,按J将下一行代码追加到本行的结尾处,相当于合并两行代码变成一行。
在normal状态,输入:vsplit进行左右分屏。输入split进行上下分屏。输入ctrl w w 移动光标到另一边。输入:hide隐藏。
vim aaa.txt bbb.txt编辑两个文件。
此时打开的是aaa.txt。
然后在normal状态,输入:vsplit进行左右分屏。
然后输入:b bbb.txt打开bbb文件。
shell命令vimtutor是帮助文档。
在normal状态,输入e: bbb.txt则打开bbb.txt文件。
2、怎么配置vim?
配置文件.vimrc放在/home/username目录下面。
例如在.vimrc文件新增
:set number
则下次打开vim的时候会自动补上行号了。
set nocompatible:不兼容旧的vi命令
set noerrorbells:有错误时不响铃
set showmatch:高亮匹配的括号
set ignorecase:查到的时候忽略大小写
set incsearch:查到的时候如果匹配,光标自动跳过去
set tabstop=2:设置一个tab键是两个空格
set autowrite:表示自动存盘
set cursorline:突出显示当前行
set colorcolume=82:在第82列显示一条竖线(一般一行代码不应该超过80个字符)
set autochdir:当编辑不同文件的时候,自动切换当前目录。