vi常用命令与设置(不断修改中)
注:前缀':'表示vim命令(命令模式),前缀'$'表示为shell命令,
表示Ctrl + W,表示Ctrl + Shift+ 6,无前缀者
均为普通模式下的键盘按键。
基本的插入与修改:
a 光标下一个字符处插入;
i 在当前光标处插入;
A 行尾插入;
o 在光标下新建一行插入;
r 键入替换一个字符;
R 键入替换所有字符;
`. 光标定位到上一次修改处;
u Undo
Redo
:e! 撤销所有修改。
文件查找与替换:
*, # 向前/后查找相同单词(如果打开set hlsearch,
则自动高亮所有匹配单词)
[[
/dest 按n查找下一个;N查找上一个;
?dest 反向查找;
:#,#s/old/new/g 把几行之间的old全部替换成new
:%s/old/new/g 整个文件全局替换,old -> new;
:s/old/new 只替换下一个匹配的字符串
:s/old/new/g 替换一行的 old -> new;
文件光标定位:
% 括号配对
ctrl + g 显示当前行号
linenum + G 跳至某行
G 跳至末行
H 跳至首行
^ 跳至行首
$ 跳至行尾
fx Fx 移动到下一个/上一个x开头的单词
[[ 跳至上一个在第一列的{ (一般是函数的开头)
]] 跳至下一个在第一列的{
{ 跳至上一个空行
} 跳至下一个空行
gd 光标定位在某个局部变量上时,跳到它的定义处;
使用cscope时,在源文件顶层运行
$cscope-indexer 生成cscope的tags, 然后使用查找各种数据类型的定义,再使用
回到光标原来的位置.
shell:
:!cmdname 临时使用shell命令cmdname
:sh 暂时回到shell(exit回到vim编辑界面)
多文件操作:
$ vi file1 file2 一次性读入多个文件(支持shell的所有通配符)
:sp file 从一个新的水平分割窗口中打开文件file
:vd file 从一个新的垂直分隔窗口中打开文件file
:n、:N 当前窗口进行文件间切换
当前窗口在两个文件之间切换
:Sex 在新的分割窗口中打开目录流览器
:ls 列出当前在编辑的文件
:b x 当前窗口跳到第x个文件buffer(:ls列出序号)
:b file 当前窗口跳到下一个文件名包含"file"的文件buffer
+ 多窗口中快速切换(ctrl + w两次)
其它:
插入模式中,用于语法的单词/结构自动补全
常用设置:
$ cp /usr/share/vim/vim70/vimrc_example.vim ~/.vimrc
以上是一个基本设置
:set hlsearch 高亮显示/与?命令查找结果;
:set num 显示每行行号
Fterm登录时如果要使用vi的语法彩色,需要把termtype设置为
xterm-color,或者$ export TERM=xterm-color应该也可以……
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/24174/showart_175131.html
vi常用命令与设置(不断修改中)的更多相关文章
- Linux笔记:vi常用命令
vi编辑器是所有Unix及Linux系统下标准的编辑器,在很多时候我们都需要使用vi修改服务端配置,vi其实非常强大,只要命令使用熟练的情况下,编辑速度并不亚于现在的图形化编辑器,这里简单地介绍一下它 ...
- vi 常用命令行
vi 常用命令行 1.vi 模式 a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了. b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作.等按下‘i,I ...
- Linux vi常用命令
vi常用命令[Ctrl] + [f] 屏幕『向前』移动一页(常用)[Ctrl] + [b] 屏幕『向后』移动一页(常用)0 这是数字『 0 』:移动到这一行的最前面字符处(常用)$ 移动到这一行的最后 ...
- [转]vi 常用命令行
From : http://www.cnblogs.com/sunormoon/archive/2012/02/10/2345326.html vi 常用命令行 1.vi 模式 a) 一般模式: v ...
- Linux的vi常用命令详解
1.vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: ...
- Linux入门学习笔记1:VI常用命令
常用命令 yy 复制 p 黏贴 shift+v 多行选中 shift+ctrl+< 左移 shift+ctrl+> 右移 ndd 删除光标所在行及其后n-1行 i 进入编辑状态 esc 退 ...
- vi常用命令集锦
转载,原文地址:http://blog.csdn.net/hackbuteer1/article/details/6575232 vi编辑器有3种模式:命令模式.输入模式.末行模式.掌握这三种模式十分 ...
- Vi 常用命令列表
基本上vi可以分为三种状态,分别是命令模式(command mode).输入模式(Insert mode)和末行模式(last line mode),各模式的功能区分如下: 1) 命令模式(comma ...
- memcached的安装、常用命令以及在实际开发中的案例
Memcached注意缺乏安全认证以及安全管制需要将Memcached服务器放置在防火墙(iptables)之后 Linux平台 (CentOS)安装Memcached 安装依赖yum -y inst ...
随机推荐
- Spark 1.60的executor schedule
第一次看源码还是Spark 1.02.这次看新源码发现调度方式有了一些新的特征,在这里随便写一下. 不变的是,master还是接收Appclient和worker的消息,并且在接收RegisterAp ...
- Java 8 vs. Scala(一): Lambda表达式
[编者按]虽然 Java 深得大量开发者喜爱,但是对比其他现代编程语言,其语法确实略显冗长.但是通过 Java8,直接利用 lambda 表达式就能编写出既可读又简洁的代码.作者 Hussachai ...
- How to Cope with Deadlocks
http://dev.mysql.com/doc/refman/5.0/en/innodb-deadlocks.html How to Cope with Deadlocks This section ...
- 基于Oracle OCI的数据访问C语言接口ORADBI .
基于Oracle OCI的数据访问C语言接口ORADBI cheungmine@gmail.com Mar. 22, 2008 ORADBI是我在Oracle OCI(Oracle 调用接口)基础 ...
- 阿里云,CentOS下yum安装mysql,jdk,tomcat
首先说明,服务器是阿里云的,centos6.3_64位安全加固版.首先需要登陆进来,使用的是putty,因为最初的时候,Xshell登陆会被拒绝. 0. 创建个人文件夹 # 使用 yum 安装tomc ...
- HDU4612+Tarjan缩点+BFS求树的直径
tarjan+缩点+树的直径题意:给出n个点和m条边的图,存在重边,问加一条边以后,剩下的桥的数量最少为多少.先tarjan缩点,再在这棵树上求直径.加的边即是连接这条直径的两端. /* tarjan ...
- Java将整个文件夹里的文本中的字符串替换成另外一个字符串(可用于项目复制,变成另一个项目)
import org.junit.Test; import java.io.*; /** * User: HYY * Date: 13-8-18 * Time: 下午8:11 * To change ...
- ABC: Always Be Coding——程序员面试必
本文作者@guitardave24 ">David Byttow 是一名程序员,曾在 Google 和 Square 等公司工作过. 在正文之前,先让我们回答几个简单的问题:第一,你面 ...
- EXPORT_SYMBOL的作用是什么
http://www.cnblogs.com/riskyer/p/3221805.html EXPORT_SYMBOL只出现在2.6内核中,在2.4内核默认的非static 函数和变量都会自动 导入到 ...
- java内存模型 年轻代/年老代 持久区
jvm中的年轻代 老年代 持久代 gc 虚拟机中的共划分为三个代:年轻代(Young Generation).老年代(Old Generation)和持久代(Permanent Generatio ...