vim编辑器

  vim---Vi IMproved by Bram Moonlenaar,是模式化的文本编辑器。有三种模式,分别是:

编辑模式,也叫命令模式;输入模式,有时也叫插入模式;末行模式。

三种模式之间的转换:

注意:末行模式不能与输入模式通信。

一、打开vim编辑器

#vim [options] FILE 1,1

i:insert,在当前光标所在处插入,插入在光标前。

a:append,在当前光标所在处插入,插入在光标后。

I:在当前光标所在行的行首,插入操作。

A:在当前光标所在行的行尾,插入操作。

o:在光标所在行的下方打开一个新行,并转入输入操作。

O:在光标所在行的上方打开一个新行,并转入输入操作。

退出:

保存退出,:wq;:wqall(多个文件);zz

不保存退出::q(无编辑退出); :q!(已编辑退出); :qall!(退出所有文件)

          以下均在编辑模式进行

二、在vim中如何使光标移动

h, ←:向左移动

j, ↓:向下移动

k, :向上移动

l, :向右移动

三、如何在单词间跳转

w:跳至下一个单词词首

e:先跳至本单词词尾,再跳至下一个单词的词尾。

b:先跳至本单词词首,再跳至上一个单词的词首。

(: 在句子间跳转,向前一句。

):在句子间跳转,向后一句。

{:跳过整个段落,向上一段。

}:跳过整个段落,向下一段。

^:可快速跳至当前行的行首(第一个非空白字符)。

0:可快速跳至当前行的绝对行首。

$:可快速跳至当前行的绝对行尾。

行间跳转:

G: #G 跳至第#行

     G 跳至文件最后一行

    1G 跳至文件首部

四、如何翻屏

Ctrl+f: 向尾部翻一屏。

Ctrl+b: 向首部翻一屏。

Ctrl+d: 向尾部翻半屏。

Ctrl+u: 向首部翻半屏。

常用命令:

c: 修改,可在转换至输入模式之前删除一些东西。c要与跳转字符一块用,限定范围。cc:删除光标所在行,并进入输入模式。ncc: 删除n行。

d: 与c的作用一样,可删除东西,但不会进入输入模式。

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

           nx 删除光标及其后n 个字符;

            X 向光标前删除单个字符 

替换: r ,replace 只能操一个字符,并且不会转换模式。如 5rA,表示把光标及其       后5个字符换成A。

      R,进入替换模式

撤销:u(undo),撤销最近一次的编辑操作。

      uu ,撤销最近2次的编辑操作。

      nu,撤销最近n次的编辑操作。

      Ctrl+r: 撤销刚才的撤销操作。

重做: . ,(redo) 重复执行上一条命令或操作 。

复制: y(yunk),

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

       yy:复制当前光标所在行的整行内容。

      nyy:复制当前光标所在行的其后n行的内容。

粘贴: p,若是复制的整行,则在当前光标所在行的下方粘贴;若不是整行,则在光        标后粘贴。

       P,若是复制的整行,则在当前光标所在行的上方粘贴;若不是整行,则在光        标前粘贴。

移动:先用d删除,再用p粘贴。

查找命令:

v:按字符选取

V:按行选取

/keyword(关键字):

?keyword(关键字):

n/N:向前或向后查找。

查找后并替换:

s: 在末行模式下使用

ADDR1(始),ADDR2(末)  s/from(查找什么)/to(替换成什么)/flags(动作修正符)

flags: i 忽略大小写

       g 全局都替换

m,n : 从第m行到第n行。

1,$ :第一行到最后一行。

. ,+8:从当前行往后8行(共九行)

1,$-1:第一行到倒数第二行。

% :全文搜索,第一到最后一行。

查找内容可使用正则表达式,替换的内容可使用``。

测试一下:

(1)把inittab中以#开头,其后有空白,空白后还有内容的行,将#与空白去掉,若#后全是空白,则不动。

①:%s@^#@@ 把#删除

②:%s@^#[[:space:]]*@@g 把#与空白去掉

③:%s@^#[[:space:]]*\([^[:space:]]\)@\1@g 保留#后的空白

(2)在全文找到以e结尾的单词,并把e换成E

: %s@\<\([[:alpha:]]\{1,\}\)e@\1E@g

五、若vim同时打开多个文件:

:next 切换至下一个文档

:first 切换至第一个文档

:last 切换至最后一个文档

:prev 切换至上一个文档

分割窗口:

   水平分割 Ctrl+w,后按s

        Ctrl+w,t:切换至最上一个窗口(多个窗口时)

        Ctrl+w,b:切换至最下一个窗口(多个窗口时)

        Ctrl+w,j:切换至下一个窗口

        Ctrl+w,k:切换至上一个窗口

    垂直分割 Ctrl+w,后按v

        Ctrl+w,l:切换至最左一个窗口(多个窗口时)

        Ctrl+w,r:切换至最右一个窗口(多个窗口时)

        Ctrl+w,h:切换至左边窗口

        Ctrl+w,l:切换至右边窗口

显示分割多个文件:

 -o: 水平分割 如 vim -o

 -O: 垂直分割 如 vim -O

六、设置vim的工作属性

 vim的配置文件是 /etc/vimrc 和 ~/.vimrc。若想设置在全局生效,则在/etc/vimrc下配置;若想设置在本用户下生效,则在~/.vimrc下设置。

   显示行号:set nu

   取消行号: nonu (当前窗口编辑时)

   自动缩进: set ai

   取消缩进: set noai

   语法高亮: syntax on|off

   搜索高亮: set hlsearch 或  no hlsearch

 

    大致上vim的简单命令已经介绍完了,这是弥补前面用到的而我没有说明过的vim编辑器的命令及用法,在这里又写一遍,记忆更深刻一些。

 

 

    明天就要上课了,又要开始紧张了,绷紧了弦子,努力学习!!!

     

 

       每天进步一点点,每一天都有不一样的收获!

 

参考别人的博客及本人的使用经验,添加一点新内容:

 

J 将下一行和当前行连接为一行
cc 删除当前行并进入编辑模式
cw 删除当前字,并进入编辑模式
c$ 擦除从当前位置至行末的内容,并进入编辑模式
s 删除当前字符并进入编辑模式
S 删除光标所在行并进入编辑模式
xp 交换当前字符和下一个字符
u 撤销
ctrl+r 重做
. 重复上一个编辑命令
~ 切换大小写,当前字符
g~iw 切换当前字的大小写
gUiw 将当前字变成大写
guiw 将当前字变成小写
>> 将当前行右移一个单位
<< 将当前行左移一个单位(一个tab符)
== 自动缩进当前行
 
% 跳到与当前括号匹配的括号处,如当前在{,则跳转到与之匹配的}处
w 跳到下一个字首,按标点或单词分割
yw 复制当前光标所在字首的单词
W 跳到下一个字首,长跳,如end-of-line被认为是一个字
e 跳到下一个字尾
E 跳到下一个字尾,长跳
b 跳到上一个字
B 跳到上一个字,长跳
0 跳至行首,不管有无缩进,就是跳到第0个字符
^ 跳至行首的第一个字符
$ 跳至行尾
gg 跳至文件的第一行
gd 跳至当前光标所在的变量的声明处
[N]G 跳到第N行,如0G,就等价于gg,100G就是第100行
fx 在当前行中找x字符,找到了就跳转至
; 重复上一个f命令,而不用重复的输入fx
tx 与fx类似,但是只是跳转到x的前一个字符处
Fx 跟fx的方向相反
),( 跳转到上/下一个语句
* 查找光标所在处的单词,向下查找
# 查找光标所在处的单词,向上查找
`. 跳转至上次编辑位置

可视模式
标记文本
v 进入可视模式,单字符模式
V 进入可视模式,行模式
ctrl+v 进入可视模式,列模式,类似于UE的列模式
o 跳转光标到选中块的另一个端点
U 将选中块中的内容转成大写
O 跳转光标到块的另一个端点
aw 选中一个字
ab 选中括号中的所有内容,包括括号本身
aB 选中{}括号中的所有内容
ib 选中括号中的内容,不含括号
iB 选中{}中的内容,不含{}

对标记进行动作
> 块右移
< 块左移
y 复制块
d 删除块
~ 切换块中内容的大小写

你可能感兴趣的:(使用方法,vim编辑器)