Linux学习笔记――vim操作使用

vim编辑器

    vim是Linux下一个很好用的文本编辑器

    vim有三种基本模式:编辑模式,命令模式和末行模式

    下面分别介绍三种模式的操作

    首先介绍三种模式的转换方法:    

    编辑模式 --> 输入模式

i: insert, 在光标所在处输入;

a: append, 在光标所在处后面输入;

o: 在当前光标所在行的下方打开一个新行;

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

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

O:在当前光标所在行的上方打开一个新行;

c

C

输入模式 --> 编辑模式

ESC

编辑模式 --> 末行模式

:

末行模式 --> 编辑模式

ESC

    编辑模式下可进行的操作:      

        光标跳转:

字符间跳转:

h: 向左跳一个字符

l: 向右跳一个字符

j: 向下跳一个字符

k: 向上跳一个字符

            #COMMAND:根据COMMAND跳转#个字符

            单词间跳转:

                w:下一个单词的词首

e:当前或下一单词的词尾

b:当前或前一个单词的词首

            #COMMAND:根据COMMAND跳转#个单词数              

            行首行尾跳转:

^: 跳转至行首的第一个非空白字符;

0: 跳转至行首;

$: 跳转至行尾;

            行间移动:

    #G:跳转至由#指定行;

                G:最后一行;

1G, gg: 第一行;

句间移动:

)

(

段落间移动:

}

{

        字符编辑:

x: 删除光标处的字符;

#x: 删除光标处起始的#个字符;

xp: 交换光标所在处的字符及其后面字符的位置;

替换命令(r, replace)

r: 替换光标所在处的字符

删除命令:

d: 删除命令,可结合光标跳转字符,实现范围删除;

d$:删除光标处到行尾的内容 

d^:删除光标处到行首的内容

d0:删除光标处到行首的内容

dw:删除光标处到下一单词的词首

de:删除光标处到当前单词的词尾

db:删除光标处到当前单词的词首

dd: 删除光标所在的行;

#dd:多行删除;

粘贴命令(p, put, paste):

p:缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面;

P:缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面;

复制命令(y, yank):

y: 复制,工作行为相似于d命令;

y$:复制光标处到行尾的内容

y0:复制光标处到行首的内容

y^:复制光标处到行首的内容

ye:复制光标处到词尾的内容

yw:复制光标处到下一词首的内容

yb:复制光标处到词首的内容

yy:复制行

#yy: 复制多行

改变命令(c, change)

c: 修改

编辑模式 --> 输入模式


c$:修改光标处到行尾的内容

c^:修改光标处到行首的内容

c0:修改光标处到行首的内容

cb:修改光标处到词首的内容

ce:修改光标处到词尾的内容

cw:修改光标处到下词首的内容

cc:删除并输入新内容

#cc: 修改#指定行的内容

        可视化模式:

v: 按字符选定

V:按行行定

    末行模式下可进行的操作        

        (1) 地址定界

:start_pos,end_pos

#: 具体第#行,例如2表示第2行;

#,#: 从左侧#表示行起始,到右侧#表示行结尾;

#,+#: 从左侧#表示的行起始,加上右侧#表示的行数;

.: 当前行

$: 最后一行

%:全文, 相当于1,$

/pat1/,/pat2/:

从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束;

使用方式:

后跟一个编辑命令

d

y

w /PATH/TO/SOMEWHERE: 将范围内的行另存至指定文件中;

r /PATH/FROM/SOMEFILE:在指定位置插入指定文件中的所有内容;

(2) 查找

/PATTERN:从当前光标所在处向文件尾部查找;

?PATTERN:从当前光标所在处向文件首部查找;

n:与命令同方向;

N:与命令反方向;

(3) 查找并替换

s: 在末行模式下完成查找替换操作

s/要查找的内容/替换为的内容/修饰符

要查找的内容:可使用模式

替换为的内容:不能使用模式,但可以使用\1, \2, ...等后向引用符号;还可以使用“&”引用前面查找时查找到的整个内容;

修饰符:

i: 忽略大小写

g: 全局替换;默认情况下,每一行只替换第一次出现;


查找替换中的分隔符/可替换为其它字符,例如

s@@@

s###

    另外vim还支持多文件模式:

        vim FILE FILE2 FILE3... 

                在末行模式下输入:         

                :next 下一个文件

:prev 前一个文件

:first 第一个文件

:last 最后一个文件

                :wall 保存所有文件

:qall 退出所有文件

        窗口分隔模式:

vim -o|-O FILE1 FILE2 ...

-o: 水平分割

-O: 垂直分割

        在窗口间切换:Ctrl+w

        单文件窗口分割:

Ctrl+w,s: split, 水平分割

Ctrl+w,v: vertical, 垂直分割

        定制vim的工作特性:

配置文件:永久有效

全局:/etc/vimrc

个人:~/.vimrc

末行:当前vim进程有效

(1) 行号

显示:set number, 简写为set nu

取消显示:set nonumber, 简写为set nonu

(2) 括号匹配

匹配:set showmatch, 简写为set sm

取消:set nosm

(3) 自动缩进

启用:set ai

禁用:set noai

(4) 高亮搜索

启用:set hlsearch

禁用:set nohlsearch

(5) 语法高亮

启用:syntax on

禁用:syntax off

(6) 忽略字符的大小写

启用:set ic

不忽略:set noic


你可能感兴趣的:(linux,vim)