码迷,mamicode.com
首页 > 系统相关 > 详细

Vim编辑器

时间:2015-08-25 13:51:15      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

1、打开文件

vim filename

打开文件,光标定位在10行 vim +10 filename

打开文件,光标定位在末尾  vim +  filename

打开文件,光标定位在第一次被模式匹配到行的行首 vim +/pattern filename/

2、关闭文件

在底线命令模式(last line mode)下

:q 直接退出

:q! 不作任何改变强制退出

:wq 保存并退出

:x 保存并退出

:wq和:x的区别:

:wq 强制性写出入文件并退出。即使文件没有被修改,也强制写入,并更新文件的修改时间

:x 写入文件并退出。仅当文件被修改时才写入,并更新文件的修改时间,否则不会更新文件的修改时间。

:e <path/to/file> 打开一个文件

:saveas <path/to/file> 另存为<path/to/file>

3、模式间转换

3.1 命令模式(command mode)---->插入模式(insert mode)

i:在当前光标所在字符的前面插入

I:在当前光标所在行的行首插入

o:在当前光标所在行的下一行插入

O:在当前光标所在行的上一行插入

a:在当前光标所在字符的后面插入

A:在当前光标所在行的行尾插入

3.2插入模式(insert mode)---->命令模式(command mode)

Esc键,可以多按几次

3.3命令模式(command mode)---->底线命令模式(last line mode)

:

4、命令模式(command mode)下的操作

4.1、移动光标

4.1.1、逐字符移动

h:光标向左移动

j:光标向下移动

k:光标向上移动

l:光标向右移动

前面可以添加数字 e.g: 3h  光标向左移动3个字符

4.1.2、以单词移动

w:跳至下一个单词的词首

e:跳至当前单词的词尾或者下一个单词的词尾

b:跳至当前单词的词首或者前一个单词的词首

4.1.3、行内跳转

0:绝对行首

^:行首的第一个非空字符

$:行尾最后一个非空字符

4.1.4、行间跳转

#G:直接跳至第#行 (#代表数字)

gg:跳至第一行

G:直接跳至最后一行

注:底线命令模式下,直接给出行号即可

4.1.5 最强光标移动

%:匹配括号移动,包括(,{,[.(注:需要把光标先移动到括号上)

*和&:匹配光标所在处的单词 *表示移动光标到下一个匹配单词  #表示移动光标到上一个匹配单词

4.1.6、翻屏

CTRL+f:向下翻一屏

CTRL+b:向上翻一屏

CTRL+d:向下翻半屏

CTRL+u:向上翻半屏

4.2、删除

x:删除光标所在处的单个字符

#x:删除光标所在处及向后共#个字符(#代表数字)

d$:删除光标处及之后的该行部分

dw:删除从光标处开始之后的一个单词

dd:删除光标所在行

#dd:删除从当前行开始后的#行

注:在底线命令模式下

startaddress,endaddressd

.:表示当前行

$:表示最后行

+#:向下#号行(#代表数字)

e.g.  :.,+3d表示删除光标所在行及向下3行,共计4行被删除

4.3、粘贴

p:如果删除或者复制为整行内容,则粘贴至光标所在行的下方

如果删除或者复制为非整行内容,则粘贴至光标所在字符的后面

P:如果删除或者复制为整行内容,则粘贴至光标所在行的上方

如果删除或者复制为非整行内容,则粘贴至光标所在字符的前面

4.4、复制

<start position><command><end position>

0y$命令意味着:

0->先到开头

y->从这里开始拷贝

$->拷贝到本行最后一个字符

yy 复制整行

y^复制当前光标前(不包括当前光标处的字符)到行头的内容

yw复制从当前光标处开始后的一个单词

y$复制从当前光标处开始到行尾

yG复制从当前行开始到结束的所有行

4.5、替换

R: 替换模式

r: 替换单个字符

4.6先删除再转化为输入模式

cc 删除当前整行

cw删除从光标开始后的一个单词

c^删除光标前的行首的行

c$删除从光标开始到行尾的行

4.7撤销操作

u:撤销前一个操作

连续u命令可撤销n次命令操作

撤销刚才的撤销命令 CTRL+r

4.8重复前一次操作命令

.

4.9可视化模式

v:按字符选取

V:按矩形选取 

4.10查找

/pattern  向下查找

?pattern  向上查找

查找并替换

 

5、vim编辑文件

5.1、vim编辑多个文件

vim file1 file2 file3

:bn 切换至下一个文件

:n 切换至下一个文件 

:bp 切换至前一个文件

:last 切换至最后一个文件

:first 切换至第一个文件

5.2、分屏显示一个文件

CTRL+w,s 水平拆分窗口

CTRL+w,v 垂直拆分窗口

CTRL+w,Arrow(箭头) 切换窗口

:qa 关闭所有窗口

5.3、分屏显示多个文件

vim -o file1 file2 file3 水平显示多个文件

vim -O file1 file2 file3 垂直显示多个文件

5.4、将当前文件的部分内容另存为另外一个文件

底线命令模式下使用w命令

:[addr1:addr2]w  /path/to/somewhere

5.5、将另外一个文件的内容填充在当前文件中

:r /path/to/somewhere

6、跟shell交互

:!command

 

7、高级话题

7.1、显示或取消行号设定

:set nu (:set number)

:set nonu (set nonu)

 7.2、设定自动缩进

:set ai (set autoindent)

:set noai

7.3、查找文本高亮显示

:set hlsearch    设置查找文本高亮显示

:set nohlsearch 取消查找文本高亮显示

7.4、语法高亮

 :syntax on 打开语法高亮

:syntax off 关闭语法高亮

8、配置文件

/etc/vimrc 全局配置文件

~/.vimrc  局部配置文件

vimtutor :vim教程命令

 

Vim编辑器

标签:

原文地址:http://www.cnblogs.com/Colinhua/p/vim.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!