Vi常用命令及技巧

转载 2007年10月06日 09:31:00
Vi常用命令及技巧
vi使用中经常用到的一些命令以及部分技巧,较为实用!
进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次编辑
光标移动命令
键盘的←↑→↓键 分别是左移,上移,右移,下移
h :光标左移一个字符
l :光标右移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
O(数字), $  移至当前行首和行尾
<shift>+h移动光标至当前窗口的起点
<shift>+l移动光标至当前窗口的末尾
<shift>+g (或G)移动光标至文件的末尾
<ctrl>+f前翻一页
<ctrl>+b后翻一页
nG 移动光标至第n行
<ctrl>+g 显示当前行号
J 将当前行与下一行连接
u 取消前一个命令
插入命令(注意字母大小写)
i 在光标前插入文本
I 在此行开始插入文本      
a 在光标后插入文本
A 在此行未插入文本
o 在当前行下面加一空行并进入输入方式
O在当前行上面加一空行并进入输入方式
删除、复制、粘贴命令
x  删除当前字符
d$ 删除当前行中从光标往后的所有字符
d0 删除当前行中从光标往前的所有字符
dd 删除当前行
ndd 删除光标所在位置之下的n行
:n1 ,n2d 删除n1行到n2行  (在最后一行状态)
  yy  将当前行复制到缓冲区
nyy 将光标所在位置之下的n行文本复制到缓冲区
p:将上一次删除或复制的文本复制到光标的下方  
P:将上一次删除或复制的文本复制到光标的上方
说明:移动正文时需先用删除命令将要移动的正文删除,然后使用复制命令
查找命令
/要查找的字符串(回车):查找光标位置之后的字符串
?要查找的字符串(回车):查找光标位置之前的字符串
n  继续向同一方向查找匹配的字符串
N  继续进行反方向查找匹配的字符串
* 在查找的字符串中可匹配任意字符
? 在查找的字符串中可匹配一个字符
修改命令
r 只替换光标位置上的一个字符
R 用重写的方法替换原来的字符串,结束替换按<Esc>键
:[n1,n2]s/旧字符串/新字符串/g<Enter>  用新文本替换n1~n2行内的所有旧字符串, n1,n2缺省时只修改当前行
:g/旧文本/s//新文本/g<Enter>  用新文本替换缓冲区内找到的所有旧文本
. 重复上一次修改
u 取消上一次修改
U 将当前行恢复到修改前的状态
文件的读写和退出
vi中文件的读写命令均在最后一行状态命令实现
w  将缓冲区内容写入原文件
w file2  将缓冲区内容写入文件file2
w >>file2  将缓冲区内容附加到文件file2的后面
q  退出vi
q! 强行退出vi,不改写文件
r file2 将file2中的内容读入到缓冲区当前行后
wq  存盘退出  
!shell  执行shell命令
! 退出shell命令
vi中执行shell命令
:!ls  在命令前需加字符“!”
file1   file2.f   test.c  …  (当前目录中的文件表)
Press RETURN or Enter command to continue
常用功能选项的设置
功能选项将改变vi的显示环境,用户可在文件$HOME/.exrc中设置自己的选项,如没有此文件,则使用缺省设置。set命令在vi的最后一行命令状态使用。
set 显示与缺省不同的设置
set all 显示所有设置
set ai/noai 自动/不自动缩进
set nu/nonu 显示/不显示行号
set list/nolist 显示/不显示不可打印字符
set showmode/noshowmode显示/不显示当前操作模式
set ts=4 设置<Tab>键为4个空格
set ic/noic 忽略/不忽略大小写
问题及技巧
1.在打开一个文件编辑后发现该用户对该文件没有写权,不能存盘。
vi file
:w /tmp/file既然没法存盘,若不想放弃所做的所有修改,可以先临时存到/tmp/file。
:20,30w /tmp/file 或者仅仅把第20到30行之间的内容存盘成文件/tmp/file。
2.同时编辑两个文件,在两个文件中拷贝剪贴文本
vi file1 file2
yy 同时打开两个文件,在文件1的光标所在处拷贝所在行。
:n 切换到文件2 (n=next)。
p 在文件2的光标所在处粘贴所拷贝的行。
:N 切换回文件1。
 

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

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

linux vi常用命令详解

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

Linux常用命令及使用方法

本文详细列出Linux常用命令及使用方法,欢迎收藏,方便日后使用。 1.#表示权限用户(如:root),$表示普通用户 开机提示:Login:输入用户名 password:输入口令用户是系统注册...
  • u013309755
  • u013309755
  • 2015年10月25日 21:26
  • 628

vi 中常用命令技巧

顺便补充几个Linux下的常用命令: PATTERN:字符串 patch -p0 diff -urN src dst > patch        生成patch find PATH -name ...
  • qq_21792169
  • qq_21792169
  • 2015年11月17日 21:54
  • 13123

Linux vim编辑器常用操作技巧整理

VIM编辑器常用模式有: 普通模式:实现基本的光标移动与大量的快捷键操作 插入模式:实现文本的基本编辑功能 命令模式:输入特定的指令实现特定的功能 Vim编辑器默认会进入到普通模式,进入到插入模式...
  • VmBoys
  • VmBoys
  • 2016年05月06日 16:27
  • 1216

gvim/vim/vi常用命令及技巧

vim/vim/vi常用命令:其替换功能很好用,见 vim替换功能.html查找单词:/word,或 把光标移到那个单词下面使用*命令。Vim 会取得光标上的单词并把它作为被查找的字符串,而#则是反向...
  • HKjinzhao
  • HKjinzhao
  • 2009年01月29日 10:09
  • 2654

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
  • 119

linux(vi)常用命令

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

linux vi(vim)常用命令汇总

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

VI常用命令集合

VI常用命令集合   转载自:http://blog.chinaunix.net/uid-20769502-id-112737.html   1、移动及跳转: :n 跳转到n行,n表示行号 ...
  • it1988888
  • it1988888
  • 2012年10月04日 23:43
  • 3123
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Vi常用命令及技巧
举报原因:
原因补充:

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