C114门户论坛百科APPEN| 举报 切换到宽版

亚星游戏官网

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索
查看: 6102|回复: 2

vi输入模式命令 [复制链接]

军衔等级:

亚星游戏官网-yaxin222  四级通信军士

注册:2009-8-21
发表于 2009-10-12 10:19:44 |显示全部楼层
输入模式命令   
  
输入   
   
  
命令作用   
  <a>         
在光标后输入文本   
  <A>         
在当前行末尾输入文本   
  <i>         
在光标前输入文本   
  <I>         
在当前行开始输入文本   
<o>         
在当前行后输入新一行   
  <O>         
在当前行前输入新一行   
   
  
光标移动命令   
   
  
光标移动   
   
  
命令作用   
  0
移动到光标所在列的最前面 [Home]     
  $
移动到光标所在列的最後面 [End]     
  [CTRL][d]
向下半页 [PageDown]     
  [CTRL][f]
向下一页         
  [CTRL]
向上半页         
  [CTRL]
向上一页 [PageUp]      
  H
移动到视窗的第一列     
  M
移动到视窗的中间列     
  L
移动到视窗的最後列                                    
  b
移动到下个字的第一个字母     
  w
移动到上个字的第一个字母                       
  e
移动到下个字的最後一个字母     
  ^
移动到光标所在列的第一个非空白字元     
  n-
减号移动到上一列的第一个非空白字元前面加上数字可以指定移动到以上   n              
  n+
加号移动到下一列的第一个非空白字元前面加上数字可以指定移动到以下   n        
  nG
直接用数字   n   加上大写   G   移动到第   n        
  )
光标所在位置到下个句子的第一个字母   
  (
光标所在位置到该句子的第一个字母   
  }
光标所在位置到该段落的最後一个字母   
  {
光标所在位置到该段落的第一个字母   
  <h>         
向前移动一个字符   
  <j>         
向上移动一行   
  <k>         
向下移动一行   
  <l>         
向后移动一个字符   
   
  fx   
  
往右移动到   x   字符上   
  Fx   
  
往左移动到   x   字符上   
  tx   
  
往右移动到   x   字符前   
  Tx   
  
往左移动到   x   字符后   
  
(注意:以上四个命令中,其中x是键入的字符)   
  ;   
  
分号,配合   f      t   使用,重复一次     
  ,   
  
逗号,配合   f      t   使用,反方向重复一次   
  %   -   
移至匹配的括号   
  shift   +G   
跳到文件尾   
   
  
交换两个字符位置   
  xp   
上下两行调换   
  ddp
   
  
把文件内容反转   
  :g/^/m0/   
   
  
删除操作命令   
   
  
删除操作   
   
  
命令作用   
  <x>         
删除光标所在的字符   
  <dw>         
删除光标所在的单词   
  <d$>         
删除光标至行尾的所有字符   
  <D>         
<d$>   
  <dd>         
删除当前行   
   
  
可在删除命令前加上数字,如<5x>表示删除5行。   
   
   
  
改变与替换操作命令   
   
  
改变与替换操作   
   
  
命令作用   
  <r>         
替换光标所在的字符   
  <R>         
替换字符序列   
  <cw>         
替换一个单词   
  <ce>         
<cw>   
  <cb>         
替换光标所在的前一字符   
  <c$>         
替换自光标位置至行尾的所有字符   
  <C>         
<c$>   
  <cc>         
替换当前行   
  
全文替换:“g/被替换字符串/s//替换字符串/g”   
    >>   
    <<   
   
   
  
查询命令   
   
  
查询   
   
  
命令作用   
  </abc>         
向前查询abc   
  <?abc>         
向后查询abc   
  <n>         向前继续查询
   
  <N>         
向后继续查询
   
   
   
  
拷贝与粘贴命令   
  
命令作用   
  /yw         
将光标所在单词拷入剪贴板   
  y$         
将光标至行尾的字符拷入剪贴板   
  Y      
<y$>   
yy         
将当前行拷入剪贴板   
  p         
将剪贴板中的内容粘贴在光标后
   
  P         
将剪贴板中的内容粘贴在光标前
   
   
   
  
文件编辑、保存及退出vi命令   
  
命令作用   
  :q         
不包存退出   
  :q!         
不保存强制性退出   
  :w         
保存编辑   
  :wfilename         
存入文件filename   
  :w!filename         
强制性存入文件filename   
  :wq   /   :x   /   ZZ     
保存退出   
            
  
编辑数个文件(利用vi   filename(s))进入vi后)   
  :args     
显示编辑名单中的各个文件名   
  :n
读入编辑名单中的下一个文件   
  :rew
读入编辑名单中的第一个文件   
  :e#
读入编辑名单内的前一个文件   
  :e   file   
读入另一个文件进vi(此文件可不在编辑名单内),   
  
若原文件经修改还没有存档,则应先以:   w   存档。     
  :e!   file
强迫读入另一个文件进入vi,原文件不作存档动作。   
  :!command
暂时退出vi并实行shell指令,实行完毕后再回到vi   
  :sh
暂时退出vi到系统下,结束时按Ctrl   +   d则回到vi   
  vi   filename
进入vi并读入指定名称的文件(新、旧文件均可)。   
  vi   +n   filename
进入vi并且由文件的第几行开始。   
  vi   +filename
进入vi并且由文件的最后一行开始。   
  vi   +   /word   filename   
进入vi并且由文件的word这个字开始。   
  vi   filename(   s   )   
进入vi并且将各指定文件列入名单内,第一个文件先读入。   
   
   
  
清理掉DOS文本中的^M,可以在:1,$s/^M//g,其中^是用CTRL+v上去的M是回车形成的   
   
  
替换后   
  
在查找、替换命令   使用以下替换后元字符,功能强大。   
  
也可用在:g/命令中   
   
  &   
代表最近匹配串   
  ~   
代表最近替换串   
  .   
任一字符   
  ^   
行首      表示        
  $   
行末   
  \<   
词首   
  \>   
词尾   
  *                         0
次或多次   
  \(   \)     
分节指定与其中正则式匹配的部分,在替换时候可以用   \1   \2   \3     ...   引用匹配部分   
  []   
表示选择   
  -   
表示范围   ,例如   [0-9]代表数字,[a-z]代表小写字母   [^0-9a-zA-Z]   代表非数字和大小写字母   
  \{m,n\}   
前面部分的从   m         n   次出现,m   n   为数值   
  \{m\}                                 
精确m次出现   
  \{m,\}                              
大于等于m次出现   
   
  
以下举几例子,欢迎大家提出问题来共同探讨。   
  1.
20列后插入串   
  :%s/^.\{20\}/&insert   something   here/g   
   
  2.
C++语言里   //注释   修改为   /*   */   格式   
  :%s/\/\/\(.*\)$/\/\*\1\*\//g   
   
  3.
在建存储过程的sql文本里,在每个create   procedure   procname()     
      
前加上drop   procedure     procname   ;     [     ]里输入的是一个空格和TAB键。   
  :%s/^[   ]*[cC][rR][eE][Aa][tT][eE][   ]*[pP][Rr][oO][cC][eE][dD][uU][rR][eE][     
   
  ]*\([^()*\]/drop   procedure   \1;Ctrl_VCtrl_Mcreate   procedure   \1/g   
   
   
  
宏命令   
  
首先,宏的实质是将命令存储在寄存器中,如下是错误的   
  qa   
  "ayw   
  q   
  
寄存器a冲突,宏挺有用的   
   
   
   
   
   
  vi
的配置文件   
  
另一方面,用户可以在主目录中创建.exrc环境文件,用set打入     
  
选项,每次调用vi时,就会读入.exrc中的指令与设置。下面是     
  .exrc
环境文件的实例:     
   
  set   wrapmarging
8     
   
  set   showmode     
   
  set   autoindent     
   
  set   number   
   
   
  vim
配置文件:   
  set   nobackup   
  set   directory=$VIM/swp   "There   stores   all   vim   swap   files   
  set   ignorecase   smartcase   "\C   to   force   vim   to   search   case   sensibly.   
  set   linebreak   "let   vim   don't   split   a   word   when   linewrap,   note:   line   doesn't   be   split   really   
  if   has('multi_byte_ime')   
          highlight   Cursor   guibg=Green   guifg=NONE   
          highlight   CursorIM   guibg=Purple   guifg=NONE   
  endif   
   
  set   autoindent   
  set   smartindent   
  set   tabstop=4   "treat   <TAB>   as   four   spaces,   stores   <TAB>   instead   of   spaces   
  set   shiftwidth=4   "be   used   only   when   "<<"   command   is   pressed   
   
  "Turn   off   IME   when   insert   mode   and   search   mode   
  set   iminsert=0   
  set   imsearch=-1  

举报本楼

本帖有 2 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系大家 |网站地图  

GMT+8, 2024-11-16 02:39 , Processed in 1.039295 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部
XML 地图 | Sitemap 地图