了解vim的模式
Vim常用模式.
命令模式(command-mode)
插入模式(insert-mode)
可视模式(visual-mode)
正常模式(normal-mode)
如何进入这些模式
①.正常模式
正常模式主要用来浏览和修改文本内容的
一般的,打开Vim都是正常模式。在任何模式下,只要按下 Esc 键就可以返回正常模式。
②.插入模式
插入模式则用来向文本中添加内容的
i 在光标所在字符前开始输入文字并进入插入模式
a 在光标所在字符后开始输入文字并进入插入模式
o (字母o) 在光标所在行的下面单独开一新行来输入文字并进入插入模式
s 删除光标所在的字符并进入插入模式
I 在行首开始输入文字并进入插入模式。此行首指第一个非空白字符处。如果行首有空格,则在空格之后输入文字并进入插入模式
A 在行尾开始输入文字并进入插入模式。这个好用,您不必管光标在此行的什麽地方,只要按 A 就会在行尾等着您输入文字。
O (大写字母O) 在光标所在行的上面单独开一新行来输入文字并进入插入模式。
S 删除光标所在行并进入插入模式
③可视模式
可视模式相当于高亮选取文本后的普通模式。
可视模式具有子模式,以行为单位进行选取的可视行模式,使用“V”键进入(也就是Shift+v);和以块为单位进行选取的可视块模式,使用“Ctrl+v”键进入。
④命令模式
命令模式则多用于操作文本文件(而不是操作文本文件的内容),例如保存文件;或者用来改变编辑器本身的状态,例如设定多栏窗口、标签或者退出编辑器……
模式的转换
① 其它模式==>正常模式
按 Esc键
②正常模式==>插入模式
按 i 在光标前插入
按 I 在行首插入
按 a 在光标后插入
按 s 删除光标所在的字符再插入
按 A 在行末插入
按 o 在当前行之下新建行
按 O 在当前行之上新建行
按 S 删除光标所在行再插入
③ 正常模式==>命令模式
按 : (shift 加 分号)
④ 正常模式==>可视模式
按 v 可视模式
按 V 可视块模式
了解vim的寄存器
1.无名寄存器(" )
2.复制专用寄存器 (0)
3.系统剪贴板(X11视窗系统下的主剪贴板)(*)
4.黑洞寄存器 (_)
5.命名寄存器 (a-z)
6.表达式寄存器 (=)
7.其他的一些只读寄存器("/寄存器特殊)
了解vim的各项快捷方式和命令;
光标移动相关:
G(shfit+g):跳到文章末尾
gg:跳到文章开头
2+:光标往下跳2行
$: 到本行末尾
^: 到本行开头
删除相关:
dd:删除当前行
d10d:删除当前光标行往下数10行
dw: 删除光标后一个词
键盘delete 一个一个字符删除
复制相关:
yy:复制光标所在行
4yy:复制四行内容
p:粘贴复制的行
查找替换相关:
:%s/aaa/bbb/(等同于 :g/aaa/s//bbb/) 替换每一行的第一个aaa为 bbb
:%s/aaa/bbb/g(等同于 :g/aaa/s//bbb/g) 替换每一行中所有 aaa为 bbb
/name: 全文查找单词name n 是下一个 name
编辑相关:
i: 光标当前插入数据
o: 生成下一行并进入编辑模式
a:光标往前一个字符并进入编辑模式
vi里面输入命令
: r! ECHO $JAVA_HOME: 可以在文本中插入变量值
保存修改相关:
按ESC键 跳到命令模式,然后:
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
屏幕翻滚类相关命令:
Ctrl u:向文件首翻半屏
Ctrl d:向文件尾翻半屏
Ctrl f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部
了解vim的帮助文档
在命令模式用:help进入
同样用:q退出帮助文档至正常模式
了解vimrc配置文件
打开你的vi,在命令模式下,输入:version,下拉,会看到如下图所示的内容:
可以看动系统、用户vimrc文件的路径
打开后如下
如果有对所有vim的配置可以在这里修改。
补充:一些常用的配置
支持中文:
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
显示行号:
set nu
或
set number
突出显示当前行:
set cursorline
显示括号匹配:
set showmatch
启用鼠标:
set mouse=a
set selection=exclusive
set selectmode=mouse,key
设置粘贴格式:
set paste
设置缩进:
set tabstop=4
#设置Tab长度为4空格
set shiftwidth=4
#设置自动缩进长度为4空格
set autoindent
#继承前一行的缩进方式,适用于多行注释
总是显示状态栏:
set laststatus=2
显示光标当前位置:
set ruler
让配置变更即刻生效:
autocmd BufWritePost $MYVIMRC source $MYVIMRC
(正常的变更方法为保存 .vimrc 再重启vim)