Vim编辑器使用技巧

来源:互联网 发布:容祖儿唱功知乎 编辑:程序博客网 时间:2024/05/20 22:29

   有关Vim教程   

在Unix系统上

$export LANG=zh_CN.utf-8 (英 --> 汉)

$ vimtutor

在Windows系统上

:help tutor


文件命令:

打开单个文件

   vim file

同时打开多个文件

   vim file1 file2 file3 ...

切换到下一个文件

   :bn

切换到上一个文件

   :bp

在vim窗口中打开一个新文件

   :open file

在新窗口中打开文件

   :split file(水平分割)

  :vs file (垂直分割)


vim的模式 :

正常模式(按 Esc 进入) 左下角显示文件名或为空

插入模式(按 i 键进入) 左下角显示--INSERT--

可视模式(按 v 键) 左下角显示--VISUAL-


查找命令:

/text  查找text

?text  查找text,反向查找。

按 n 健查找下一个,按 N 健查找前一个



替换命令:

s/old/new/ 用old替换new,替换当前行的第一个匹配

s/old/new/g 用old替换new,替换当前行的所有匹配

%s/old/new/ 用old替换new,替换所有行的第一个匹配

%s/old/new/g 用old替换new,替换整个文件的所有匹配


移动命令:

h 左移一个字符
l 右移一个字符,这个命令很少用,一般用w代替。
k 上移一个字符
j 下移一个字符
以上四个命令可以配合数字使用,比如20j就是向下移动20行,5h就是向左移动5个字符,在Vim中,很多命令都可以配合数字使用

其实,我们平时使用移动命令大部分是使用键盘上的 方向键。

G  使光标移动到文件底部

1+ G 使光标移动到文件顶部

n(表示数字) + G  使光标移动到第n行

ctrl + g 显示光标所在行的状态信息


撤销和重做:

u 撤销(Undo)
U 撤销对整行的操作
Ctrl + r 重做(Redo),即撤销的撤销。(很少用到)


退出命令:

:wq (或者 :x )保存并退出

:q! 强制退出并忽略所有更改

:e! 放弃所有修改,并打开原来文件

 

窗口命令 :

:split或new 打开一个新窗口,光标停在顶层的窗口上

:split file或:new file 用新窗口打开文件

split打开的窗口都是横向的,使用vsplit ( vs ) 可以纵向打开窗口。

Ctrl+ww 移动到下一个窗口

Ctrl+wj 移动到下方的窗口

Ctrl+wk 移动到上方的窗口

关闭窗口

:close 最后一个窗口不能使用此命令,可以防止意外退出vim。

:q  如果是最后一个被关闭的窗口,那么将退出vim。

 :only     关闭所有窗口,只保留当前窗口


在vim内执行外部shell的命令 :!xx

  :!dir (或  :!ls)获知當前目錄的內容


下面是看  vimtutor 教程所做笔记,微笑微笑微笑

按下Caps Lock键(大写锁定)
   然后按字母键j足够多次来系移动光标,可以内容充满屏幕(拼接命令)。

1、正常模式下,在文本中移动光标可以使用 箭头键,也可使用h、j、k、l字母键。
   h (左移)       j (下行)       k (上行)     l (右移)    


2、在正常(Normal)模式下,可以按下 x 键来删除光标所在位置的字符
             可以按下 i 键在光标处插入文本


3、正常模式下,删除操作 :
   dw 从当前光标删除至单字/单词末尾
   d$ 从当前光标删除至当行的末尾
   dd 删除整行

   命令的格式:
    [number] command object  或者  command [number] object(w,$)
      各选项含义:
    number -- 表命令执行的次数
    command -- 表要做的命令  eg: d 表删除
    object -- 表要操作的对象 eg: w 是单字/单词,$ 是到行末

   u  撤销以前的操作,回到前一次
   U(大写) 撤销一行中的所有改动
   ctrl + r 撤销掉使用u或U撤销的内容


4、替换光标所在位置的字符  r+字符
  (也可以在r前加数字n,表替换n个字符;替换多个字符 shift + r )
   
   更改项命令 cw单个单词,  c$从光标出到行末
   格式:
    [number] c object   或者 c [number] object

   字母大小写转换:
       按~键,可将光标出的字符转换大小写,且光标移动到下一个字符
       按 U(大写)可将选中的内容变为大写
       按 u(小写)可将选中的内容变为小写


5、定位及文件状态(正常模式下)
   光标定位:
    ctrl + g  显示光标在此文件中所在的行位置以及文件状态
       shift + g 光标跳转到文件的最后一行
       1 + shift + g 光标跳转到文件的首行(选中某一行的第一列,按gg也可跳转到文件头)
       num + shift + g  光标跳转到文件的第num行
 
   搜索指定字符(串)
    /字符( 或?字符 )
        n键向下查找,shift + n 键向上查找
    
   差找配对的括号  按 %

   在一行內替换第一个字符串 old 为新的字符串 new, 请输入  :s/old/new
   在一行內替换所有的字符串 old 为新的字符串 new, 请输入  :s/old/new/g
   在兩行內替換所有的字符串 old 为新的字符串 new, 请输入  :#,#s/old/new/g
   在文件內替換所有的字符串 old 为新的字符串 new, 请输入  :%s/old/new/g
   进行全文替换使询问用戶确认每个每个替换需添加 c 选项, 请输入 :%s/old/new/gc


6、在正常模式下, vim 内执行外部命令为 ":"
      :!dir ( 或 :!ls) 查看当前目录的内容
      :!rm file 删除当前目录下file文件
      :w newfile  将当前文件的内容保存到newfile文件中
      :#,# w newfile 把当前文件 #~#行的内容保存到newfile文件中
      :r file 把file文件的内容提取出来,并放到光标所在位置


7、设置问题
   set nu  显示行号
   set ic  英文忽略大小写
   set hls 设置高亮
   set cindent 使用C样式缩进  

   set noignorecase  不忽略大小写的查找

   set nohlsearch  关闭高亮搜索显示

   set incsearch  逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。

   set wrapscan  重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。

   ......

8、关于系统自带的vimrc
   Linux用户
    创建 ~/.vimrc
   Windows用户
    创建 _vimrc





0 0
原创粉丝点击