vi常用命令

转载 2006年05月19日 10:57:00

 

vi常用命令

 

输入模式命令
输入

命令作用
<a>    在光标后输入文本
<A>    在当前行末尾输入文本
<i>    在光标前输入文本
<I>    在当前行开始输入文本
<o>    在当前行后输入新一行
<O>    在当前行前输入新一行

光标移动命令

光标移动

命令作用
0移动到光标所在列的最前面[Home]
$移动到光标所在列的最後面[End]
[CTRL][d]向下半页[PageDown]
[CTRL][f]向下一页  
[CTRL][u]向上半页&#63733;  
[CTRL][b]向上一页[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&#58853;读入编辑名单中的下一个文件
:rew&#58853;读入编辑名单中的第一个文件
:e#&#58853;读入编辑名单内的前一个文件
:e file &#58853;读入另一个文件进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 &#58853;进入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

 

 
 
 

 

 
  

 

 

Linux学习记录--vim与vi常用命令

vim与vi常用命令 语系编码转换:iconv   vi是个文本编辑器,所有UNIX Like系统都会内置这个编辑器 vim是vi的强加版,其具有程序编辑的能力,可以主动以字体颜色辨识语法的正确性。 ...
  • tiankefeng19850520
  • tiankefeng19850520
  • 2014年03月04日 17:09
  • 1793

linux vi常用命令详解

1、vi的基本概念   基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:...
  • miketom155
  • miketom155
  • 2015年04月03日 12:55
  • 5408

Linux常用指令及vi指令

1. find 查找     find / -name XXX 2.tar (解)压缩     tar xzvf (或tar jxvf)  解压缩     tar czvf XXX.tar.gz XX...
  • liangzhuangdongtou
  • liangzhuangdongtou
  • 2016年10月31日 15:31
  • 117

linux(vi)常用命令

常用操作系统命令 查看主机名 hostname 修改主机名(重启后无效) hostname yang 修改主机名(重启后永久生效) vi /ect/sysconfig/network 修改IP(...
  • Liveor_Die
  • Liveor_Die
  • 2017年11月19日 20:51
  • 147

Linux_vi常用指令

1. vi 1.1 一般模式 1.1.1 一般模式: 移动光标的方法 [Ctrl] + [f] 屏幕『向下』移动一页,(记忆forward) [Ctrl] + [b] 屏幕『向上』移动一页,(...
  • lsxy117
  • lsxy117
  • 2015年11月10日 17:10
  • 547

VI常用命令集合

VI常用命令集合   转载自:http://blog.chinaunix.net/uid-20769502-id-112737.html   1、移动及跳转: :n 跳转到n行,n表示行号 ...
  • it1988888
  • it1988888
  • 2012年10月04日 23:43
  • 3121

linux vi(vim)常用命令汇总

前言 首先介绍一下 vim vi 是 unix/linux 下极为普遍的一种文本编辑器, 大部分机器上都有 vi 有各种变种, 在不同的机器上常用不同的变种软件 其中 vim 比较好用也用得比较广泛...
  • tianwei7518
  • tianwei7518
  • 2015年03月11日 21:18
  • 747

Linux常用命令-3---file、tar、cat、chgrp、chown、chmod、vi、time

11.file命令该命令用于判断接在file命令后的文件的基本数据,因为在Linux下文件的类型并不是以后缀为分的,所以这个命令对我们来说就很有用了,它的用法非常简单,基本语法如下:file file...
  • wangshuang1631
  • wangshuang1631
  • 2016年12月02日 16:21
  • 1498

vi/vim常用命令总结参考图

vi/vim编辑工具常用命令参考:
  • LEON1741
  • LEON1741
  • 2017年01月23日 17:39
  • 526

Vi 常用命令

命令 说明 Esc 进入命令状态 q 退出 q! 不保存退出 w 保存 wq 保存退出 !command 执行 shell 命令 command ...
  • qq847270942
  • qq847270942
  • 2015年04月13日 19:30
  • 201
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vi常用命令
举报原因:
原因补充:

(最多只允许输入30个字)