您的位置:首页 > 运维架构 > Linux

Linux基础之vim文本编辑器

2013-07-17 16:02 691 查看
一、简介:
vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
1、viimproved,vim
全屏编辑器,模式化,功能强大,短小精悍
2、使用格式:
#vim[Options] /path/to/somefile

二、使用模式:
1、默认模式:命令模式,编辑模式,可对文件进行删除,复制,粘贴等操作2、输入模式:对文本文件进行修改,输入3、末行模式:可以执行保存、查找、替换、退出等命令4、模式间转换: 编辑模式-->输入模式 i:insert,实现在当前光标所在字符前面转为输入模式; a:append,实现在当前光标所在字符后面转为输入模式; o:在光标所在行的下方新建一个空白行并转为输入模式; I:在当前光标所在行的行首转为输入模式; A:在当天光标所在行的行尾转为输入模式; O:在当前光标所在行的上方,新建一个空白行并转为插入模式; 输入模式-->编辑模式: 按下Esc键;
编辑模式-->末行模式 输入":"模式 末行模式-->编辑模式 按两次Esc退出末行模式,不能从莫忙模式直接转到输入模式;
三、光标跳转:
1、字符间跳转: h:向左跳转一个字符; l:向右跳转一个字符; j:向下跳转一个字符; k:向上跳转一个字符; ↑k ←h l→ ↓j #h:向左跳转#个字符; #j:向下跳转#个字符; #k:向上跳转#个字符; #l:向右跳转#个字符;2、单词间跳转: w:跳至后一个单词的词首; e:跳至当前或下一个单词词尾; b:跳至当前或前一个单词词首;3、句间跳转: ):跳至下一句; (:跳至上一句;4、段落间跳转: }:跳至下一段; {:跳至上一段;5、行间跳转: 1G,gg:跳至文件首行; G:跳至文件最后一行; #G:跳转到#行;6、行内跳转: ^:跳至行首; $:跳至行尾; 0:零跳至绝对行首;7、翻屏操作: Ctrl+f:向文件尾部翻一屏或按PageDown键; Ctrl+b:向文件首部翻一屏或按PageUp键;
Ctrl+d:向文件尾部翻半屏; Ctrl+u:向文件首部翻半屏;

四、关闭文件:
1、在末行模式下:
:w保存;
:q退出;
:!强制;
:wq保存并推出;
:q!强制退出不保存,对文件做了修改不想保存时就可以用强制退出;
:wq! 强制保存并推出,对于有些文件不让保存,但我们又非要保存不可的时候就用强制保存; :x 保存退出;2、在编辑模式先: ZZ:保存退出;
五、打开文件
1、vim +#/path/to/file 打开文件光标自动跳转至#行;
2、打开多个文件:
vim[optios] FILE1 FILE2 FILE3
可使用以下命令在多个文件之间跳转:
next下一个;
last最后一个;
first第一个;
prev前一个;
3、打开多个文件并分屏显示
vim-[o|O] FILE1 FILE2 FILE3
-O:垂直分割窗口;
-o:水平分割窗口;
Ctrl+w+(↑↓):在多个文件间跳转

六、编辑操作:
1、x命令:
x:向后删除一个字符
X:向前删除一个字符
#x:删除#个字符
2、d:删除命令;
dw:删除当前光标到后一个单词词首;
db:删除光标所在处到词首,或前一个单词词首
de:删除光标所在处当词尾,或下一个单词词尾
d^:删除光标所在处到行首;
d$:删除光标所在处到行尾
dd:删除光标所在行
#dd:删除当前光标向下#行
3、在末行模式使用d命令
末行模式可以使用地址定界;
起始地址,结束地址
$:最后一行
.:当前光标所在行
%:全文
1,7d:删除第一行到第七行;
1,$:第一行到最后一行;
1,+6:第一行到第六行;
1,$-2:第一行到倒数第三行;加d命令可以直接删除
.,+3:当前光标所在行和下面的三行;加d命令可删除4行
4、c:编辑,转换至输入模式
cc:删除当前光标所在行并转换至输入模式;
#cc:删除当前光标所在行向下#行并转换至输入模式;
c^:删除当前光标所在处到行首并转换至输入模式;
c$:删除当前光标所在处到行尾并转换至输入模式;
5、粘帖操作:p命令
用d命名删除的字符可用p命令来粘贴; a、删除的是整行: p:删除的是整行在当天光标所在行的下方粘贴; P:删除的是整行在当前光标所在行的上方粘贴; b、删除不是整行: p:在当前光标所在处的后方粘贴; P:在当前光标所在处的前方粘贴;6、复制:y,yank yy:复制当前光标所在行; y^:复制当前光标所在处到行首; y$:复制当前光标所在处到行尾; #yy:复制当前光标所在行向下#行; a 、复制的是整行: p:复制的是整行在当天光标所在行的下方粘贴; P:复制的是整行在当前光标所在行的上方粘贴; b、复制不是整行: p:在当前光标所在处的后方粘贴; P:在当前光标所在处的前方粘贴;7、编辑操作可撤销 在编辑模式下: u:vim默认会保存最近50次,可逐次撤销 Ctrl+r:撤销此前的撤销操作

七、文本搜索:
/keyword(关键字):从当前光标向文件尾部查找;
?keyword(关键字):从当前光标向文件首部查找;
n:查找下一个
N:查找前一个
支持模式:
/\<d[[:alpha:]]\{2\}n\>:精确匹配以d开头,后跟两个任意字符,并且以n结尾的字符串;
基本正则表达式
^:锚定行首的符合条件的内容,用法格式"^pattern";
$:锚定行尾的符合条件的内容,用法格式"pattern$";
.:匹配任意单个字符;
*:匹配紧挨在其前面的字符的字符任意次;
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
\?:匹配紧挨在其前面的字符0次或1次;
\{m,n}:匹配其前面的字符至少m次,至多n次
\{0,n}:至多n次,0-n次;
\{m,\}:至少m次
\{m,\}:精确匹配m次
\<锚定词首,用法格式:\<pattern
\b:\bpattern
\>锚定词尾,用法格式:pattern\>
\b:pattern\b
\(\):分组,用法格式;
\(a.b\).*\1:前匹配后引用;
八、vim可视化模式
1、visual模式
v:选中光标划过的字符;
V:选中光标划过的行,整行选取
2、 按两次Esc键,回到编辑模式;
3、 同一文档分屏显示
Ctrl+w,s:水平分割;
Ctrl+w,v:垂直分割;
在其间切换Ctrl+w(↑↓)

九、窗口属性定义:
1、显示行号:
set number,简写:set nu;
set nonumber,简写:set nonu;
2、自动缩进
set autoindent,简写:set ai;
set noautoindent,简写:set noai;
3、不区分字符大小写
set ignorecase,简写:set ic;
set noic;
4、获取帮助:
set 可以查看set可以配置的功能;
5、显示匹配的括号:
set showmatch,简写:set sm;
set nosm
6、语法着色:
syntax on;
syntax off
7、查找结果高亮显示:
set hlsearch
set nohlsearch

十、vim的配置文件:在文件中用set修改的只对当前vi进程有效。要想长期有效就需要要修改配置文件;
1、全局:/etc/vimrc;
2、个人:~/.vimrc 文件不存在可自己创建;
3、修改时直接将set COMMAND放在配置文件中就可以了;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vi 文本编辑器 vim