vim命令 转

一:linux  系统下查看vim的教学教程:               vimtutor  zh             显示中文教程

二:vim的几种模式

  1.命令模式:vim打开后默认处于命令模式,此模式下,可以移动光标,可以对文件内容进行复制、粘贴、替换、删除等操作

  2.输入模式:可以对文件进行写操作  类似于记事本中输入内容

        命令模式进入输入模式:i    I      a  A  o  O  ,当编辑完文件后按ESC键可以返回命令模式

    3.编辑模式:用于对文件中的指定内容执行保存、查找或者替换等操作

        进入方式:命令模式下用: 来进入

    4.可视模式:对vim中的一块文本区域进行操作    

        进入可视模式 :在命令模式下       V     面向行   

                           ctrl+v   面向列

                           v    面向字符

 三:撤销和恢复

      命令模式下输入以下:

      撤销为u  撤销最后执行的命令,        U 撤销对整行的修改

        恢复撤销  ctrl+r

  四:删除

  1.删除光标到词尾部    dw

  2.删除光标大行末  d$

    命令和对象

    一个操作符   加上一个动作组成一个改变文本的命令

    d  motion

    d:  delete

    motion:操作符的操作对象

      w  当前光标到下一个单词起始处   不包括下一个单词的第一个字符    word

      e   当前光标到本单词末尾,包括最后一个字符              end

      $   当前光标到当前行末尾    

    计数删除更多个字符                   d  number  motion

      d2w  删除两个单词    向右     

    删除整行:    dd      删除1行

             2dd  删除两行

    X  向前删除字符  每次删除一个

    x   向后删除字符  每次删除一个

  3.计数指定动作     

      在动作前输入数字会使它重复数字指定的次数

     向右为前     向左为后       w移动到下一个单词的首个字符处,e移动到本单词或下一个单词的最后一个字符处;

    a  2w光标向前移动两个单词

    b  3e光标向前移动到第三个单词的末尾

    c  0数字零  移动光标到行首

   4.调整光标位置

    h   左  ;j下(像一把刀);k  上;l 右

    0    行首

    gg   文档首部

    G    文档尾部

五:置入类命令:  

  p将最后一次删除的内容置入光标之后

  dd命令删除的行会存储到vim的寄存器中    临时存储区

  之后在命令模式下   按p   可以将存储区中的内容   置入光标所在行的下方

六 :替换类命令

  输入r和一个字符替换光标所在位置的字符        replace  替换

  先选择后输入

七:更改类命令

  要改变文本直到一个单词的末尾   输入ce      change to end    

  cw  将光标处的字符到本单词最后的字符删除   再输入以修改单词

  ce  不仅仅删除一个单词,同时也进入插入模式

  c$  可以替换当前光标到行末的内容

  更改工作方式与删除工作方式 一致

  c  【number】  motion

八:定位及文件状态

  ctrl-g  显示当前编辑文件中当前光标所在行位置以及文件状态信息

  大写G    跳转到文件中的最后行

  gg  跳转到文件的第一行

  行号+G    跳转到指定行

九:搜索类命令

  /       为搜索命令   搜索当前页面    为向下查找  

  /L    查找光标后的第一个L      

  n    继续查找下一个字符

  N  相反方向查找字符

  ?替换掉/  逆向查找字符

  ctrl+o  回到光标上一个位置

  ctrl+i  光标回到比较新的位置

  以上两个命令只回退或更新在搜索操作相关的光标位置

 十:配对括号的查找

  %   可以查找配对的括号   )     】    }

  再按%可以回到配对的第一个括号处

十一:替换命令  :s       相当于search

  :s/old/new/g  可以替换old为new

  末尾不带g    只改变光标所在行的第一个匹配串

  末尾带g     替换本行的全部匹配串

 替换两行之间出现的每个匹配串

   :#,#s/old/new/g  #,#表示替换操作的若干行中首尾两行的行号。  行号如果无显示  用ctrl+g 显示当前光标所在行号

    : %s/old/new/g   替换整个文件中的每个匹配串

    : %s/old/new/gc   找到整个文件中的每个匹配串,并且对每个匹配串提示是否进行替换。

vim内部执行外部命令的方法

  1.  :!输入一个外部shell命令

选择性保存命令

  按v 进入可视模式

  向下移动光标    选中文本

  按:    屏幕出现:‘<,'>

  输入w  test

  验证是否保存成功可以在vim下   :!ls  查看文件是否存在

    :!vim test   查看文件中的内容是否为想要保存的内容

提取和合并文件

  向当前文件中插入另外的文件的内容   输入  :r filename

  将filename中内容添加到光标所在行的下一行  

  :r  ! ls     读取ls命令的输出,并将它放置在光标所在行的下面

                第六讲

1.打开类命令

  o  在光标所在行的下一行打开并进入插入模式    小写的o

  O  在光标所在行的上一行打开并进入插入模式   大写的O

2.附加类命令

  a  光标之后插入文本  append追加

  i  光标之前插入文本  insert插入

  A  本行的末尾插入文本

  I  本行的行首插入文本

  w  光标定位到下一单词的词首

  e  光标定位到下一单词的词尾

3.置换类命令的另一版本

  大写R   可以连续替换多个字符

  小写r  一次只能替换一个字符

4.复制粘贴文本

  y  复制文本

  p  粘贴文本

  通过调整光标位置

  1.  可视模式 v   选中行中的某一部分

  2.  按y  选中一部分

  3.  调整光标到想要粘贴的位置    

       例如  j$  调整到下一行的末尾,

  4.  按p  粘贴

  同时y也可以当做操作符来使用,  yw可以用来复制一个单词

5.设置类命令

  /ignore

  :set ic

  :set hls is

  :set noic

  :nohlsearch

  /ignore\c

  选项前面加上no选项可以关闭  该选项    例如  :set noic

          第七讲

  1.帮助系统

  f1键

  :help

  ctrl+w   在vim打开的窗口中切换

  具体帮助命令:

    :help w        关于w 的帮助信息

    :help insert-index    关于insert-index的帮助信息

  2.创建启动脚本

    为了使用更多的特性,需要创建一个vimrc文件,因为大部分的特性未启用

    a  编辑vimrc文件

      类unix系统下:      vim命令模式下  输入      :edit  ~/.vimrc

    b  接着读取vimrc示例文件的内容:

      :r  $VIMRUNTIME/vimrc_example.vim

    c  保存文件 

      :write

    d  查看vimrc-intro

      :help vimrc-intro

在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format。使用gg=G可对整篇代码进行排版。

vim 选择文本,删除,复制,粘贴  

文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下:
v    从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束。 
V    从光标当前行开始,光标经过的行都会被选中,再按一下V结束。 
Ctrl + v   从光标当前位置开始,选中光标起点和终点所构成的矩形区域,再按一下Ctrl + v结束。 
ggVG 选中全部的文本, 其中gg为跳到行首,V选中整行,G末尾


选中后就可以用编辑命令对其进行编辑,如 
d   删除 
y   复制 (默认是复制到"寄存器) 
p  粘贴 (默认从"寄存器取出内容粘贴) 

"+y    复制到系统剪贴板(也就是vim的+寄存器) 
"+p   从系统剪贴板粘贴 

=============================================================

vim命令总结

1.删除字符
  要删除一个字符,只需要将光标移到该字符上按下"x"。
2.删除一行
  删除一整行内容使用"dd"命令。删除后下面的行会移上来填补空缺。
3.删除换行符
  在Vim中你可以把两行合并为一行,也就是说两行之间的换行符被删除了:命令是"J"。
4.撤销
  如果你误删了过多的内容。显然你可以再输入一遍,但是命令"u" 更简便,它可以撤消上一次的操作。
5.重做
  如果你撤消了多次,你还可以用CTRL-R(重做)来反转撤消的动作。换句话说,它是对撤消的撤消。撤消命令还有另一种形式,"U"命令,它一次撤消对一行的全部操作。第二次使用该命令则会撤消前一个"U"的操作。用"u"和CTRL-R你可以找回任何一个操作状态。
6.追加
  "i"命令可以在当前光标之前插入文本。
  "a"命令可以在当前光标之后插入文本。
  "o"命令可以在当前行的下面另起一行,并使当前模式转为Insert模式。
  "O"命令(注意是大写的字母O)将在当前行的上面另起一行。
7.使用命令计数
  假设你要向上移动9行。这可以用"kkkkkkkkk"或"9k"来完成。事实上,很多命令都可以接受一个数字作为重复执行同一命令的次数。比如刚才的例子,要在行尾追加三个感叹号,当时用的命令是"a!!!"。另一个办法是用"3a!"命令。3说明该命令将被重复执行3次。同样,删除3个字符可以用"3x"。指定的数字要紧挨在它所要修饰的命令前面。
8.退出
  要退出Vim,用命令"ZZ"。该命令保存当前文件并退出Vim。
9.放弃编辑
  丢弃所有的修改并退出,用命令":q!"。用":e!"命令放弃所有修改并重新载入该文件的原始内容。
10.以Word为单位的移动
  使用"w"命令可以将光标向前移动一个word的首字符上;比如"3w"将光标向前移动3个words。"b"命令则将光标向后移动到前一个word的首字符上。
  "e"命令会将光标移动到下一个word的最后一个字符。命令"ge",它将光标移动到前一个word的最后一个字符上。、
11.移动到行首或行尾
  "$"命令将光标移动到当前行行尾。如果你的键盘上有一个键,它的作用也一样。"^"命令将光标移动到当前行的第一个非空白字符上。"0"命令则总是把光标移动到当前行的第一个字符上。键也是如此。"$"命令还可接受一个计数,如"1$"会将光标移动到当前行行尾,"2$"则会移动到下一行的行尾,如此类推。"0"命令却不能接受类似这样的计数,命令"^"前加上一个计数也没有任何效果。
12.移动到指定字符上
  命令"fx"在当前行上查找下一个字符x(向右方向),可以带一个命令计数"F"命令向左方向搜索。"tx"命令形同"fx"命令,只不过它不是把光标停留在被搜索字符上,而是在它之前的一个字符上。提示:"t"意为"To"。该命令的反方向版是"Tx"。这4个命令都可以用";"来重复。以","也是重复同样的命令,但是方向与原命令的方向相反。
13.以匹配一个括号为目的移动
  用命令"%"跳转到与当前光标下的括号相匹配的那一个括号上去。如果当前光标在"("上,它就向前跳转到与它匹配的")"上,如果当前在")"上,它就向后自动跳转到匹配的"("上去.
14.移动到指定行
  用"G"命令指定一个命令计数,这个命令就会把光标定位到由命令计数指定的行上。比如"33G"就会把光标置于第33行上。没有指定命令计数作为参数的话, "G"会把光标定位到最后一行上。"gg"命令是跳转到第一行的快捷的方法。
  另一个移动到某行的方法是在命令"%"之前指定一个命令计数比如"50%"将会把光标定位在文件的中间. "90%"跳到接近文件尾的地方。
  命令"H","M","L",分别将光标跳转到第一行,中间行,结尾行部分。
15.告诉你当前的位置
  使用CTRL-G命令。"set number"在每行的前面显示一个行号。相反关闭行号用命令":set nonumber"。":set ruler"在Vim窗口的右下角显示当前光标位置。
16.滚屏
  CTRL-U显示文本的窗口向上滚动了半屏。CTRL-D命令将窗口向下移动半屏。一次滚动一行可以使用CTRL-E(向上滚动)和CTRL-Y(向下滚动)。要向前滚动一整屏使用命令CTRL-F。另外CTRL-B是它的反向版。"zz"命令会把当前行置为屏幕正中央,"zt"命令会把当前行置于屏幕顶端,"zb"则把当前行置于屏幕底端.
17.简单搜索
  "/string"命令可用于搜索一个字符串。要查找上次查找的字符串的下一个位置,使用"n"命令。如果你知道你要找的确切位置是目标字符串的第几次出现,还可以在"n"之前放置一个命令计数。"3n"会去查找目标字符串的第3次出现。
  "?"命令与"/"的工作相同,只是搜索方向相反."N"命令会重复前一次查找,但是与最初用"/"或"?"指定的搜索方向相反。
  如果查找内容忽略大小写,则用命令"set ignorecase", 返回精确匹配用命令"set noignorecase" 。
18.在文本中查找下一个word
  把光标定位于这个word上然后按下"*"键。Vim将会取当前光标所在的word并将它作用目标字符串进行搜索。"#"命令是"*"的反向版。还可以在这两个命令前加一个命令计数:"3*"查找当前光标下的word的第三次出现。
19.查找整个word
  如果你用"/the"来查找Vim也会匹配到"there"。要查找作为独立单词的"the"使用如下命令:"/the\>"。"\>"是一个特殊的记法,它只匹配一个word的结束处。近似地,"\<"匹配到一个word的开始处。这样查找作为一个word的"the"就可以用:"/\"。
20.高亮显示搜索结果
  开启这一功能用":set hlsearch",关闭这一功能:":set nohlsearch"。如果只是想去掉当前的高亮显示,可以使用下面的命令:":nohlsearch"(可以简写为noh)。
21.匹配一行的开头与结尾
   ^ 字符匹配一行的开头。$字符匹配一行的末尾。
   所以"/was$"只匹配位于一行末尾的单词was,所以"/^was"只匹配位于一行开始的单词was。
22.匹配任何的单字符
  .这个字符可以匹配到任何字符。比如"c.m"可以匹配任何前一个字符是c,后一个字符是m的情况,不管中间的字符是什么。
23.匹配特殊字符
  放一个反斜杠在特殊字符前面。如果你查找"ter。",用命令"/ter\。"
24.使用标记
  当你用"G"命令从一个地方跳转到另一个地方时,Vim会记得你起跳的位置。这个位置在Vim中是一个标记。使用命令" `` "可以使你跳回到刚才的出发点。
  ``命令可以在两点之间来回跳转。CTRL-O命令是跳转到你更早些时间停置光标的位置(提示:O意为older). CTRL-I则是跳回到后来停置光标的更新的位置(提示:I在键盘上位于O前面)。
    注:使用CTRL-I 与按下键一样。
25.具名标记
   命令"ma"将当前光标下的位置名之为标记"a"。从a到z一共可以使用26个自定义的标记。要跳转到一个你定义过的标记,使用命令" `marks "marks就是定义的标记的名字。命令" 'a "使你跳转到a所在行的行首," `a "会精确定位a所在的位置。命令:":marks"用来查看标记的列表。
  命令delm!删除所有标记。
26.操作符命令和位移
  "dw"命令可以删除一个word,"d4w"命令是删除4个word,依此类推。类似有"d2e"、"d$"。此类命令有一个固定的模式:操作符命令+位移命令。首先键入一个操作符命令。比如"d"是一个删除操作符。接下来是一个位移命。比如"w"。这样任何移动光标命令所及之处,都是命令的作用范围。
27.改变文本
  操作符命令是"c",改变命令。它的行为与"d"命令类似,不过在命令执行后会进入Insert模式。比如"cw"改变一个word。或者,更准确地说,它删除一个word并让你置身于Insert模式。
  "cc"命令可以改变整行。不过仍保持原来的缩进。
  "c$"改变当前光标到行尾的内容。
  快捷命令:x 代表dl(删除当前光标下的字符)
            X 代表dh(删除当前光标左边的字符)
            D 代表d$(删除到行尾的内容)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值