常用VI操作命令
# ------------------- VI basic -------------------------------
# file name: VI_basic
# author :
# date : 2014-3-25
# contact : QQ :
# email :
# summary : VI editor operation for programming
# ------------------- VI basic -------------------------------
# ------ summary ---------------------------------------------
vi is an powerful file editor for programming in Linux OS.
vim : vi improved
gvim : GUI of vi
two mode : editing and command mode
.vim : highligh word file
.vimrc : configuration file of VI
# ------ file operation -----------------------------------------
# ------ open a file -----------
vi file_name : open a file for editing on a terminal
vim file_name :
gvim file_name : gvim is a GUI of vi
# when open a file , vi is in insert mode by default
:i : go to insert mode
esc : go to command mode
:w : write into the file (save)
:q : quit vi
:q! : force to quit and abort the modification
:wq : save and quit
# ----- move cursor ------------
->/<- : left/right/up/down
h|j|k|l : h(left)| j(down) | k(up) l (right)
: 3h | 4j | 5k | 6l
:w : move forward one word eg. 3w
:b : move backward one word eg. 4b
:$ : move to the end of a line
:^|0 : move to the beginning of a line
# ---------------------------
:gg : go to the first line
:G : go to the last line
:nG : go to n line eg. 1G
:set nu : set number line
:set nonu
CTRL + G : display the current line and total numbers of lines
CTRL + U : page up
CTRL + D : page down
# ----- delete copy and paste -----
d=delete, y=copy, p=paste
:dd : delete a line eg. 5dd
:dw : delete a word eg. d3w
:d0 :
:d$ : delete to end of line
:yy : copy a line et. 5yy
:yw
:y0
:y$
:Y : copy
:5,10y : copy 5 ~ 10 line
:,10y : copy cursor ~ 10 line
:5,y : copy 5 ~ cursor line
:p : paste
:. : repeat last operation
:x : delete a character eg. 3x
# ------ undo the editing ----
:u|U : undo
:CTRL+R : need the modification
# ------ insert cursor -------------------
a|A : after the cursor | end of a line
o|O : input one new line under the current line | up the current line
:help a :
# ------ search ---------------------
:/pattern : go to the pattern
: n|N
:?pattern :
SHIFT + * : match the word marked cursor
:number_line : go to the number line
# ----- replace -----------------------
:r|R : replace
:%s/x/y/g : x change to y all of them
:s/x/y/g : x change to y on the current line
:10,23s/x/y/g :
# ----- special operation ------------------
:sp : splite horizontally ; put some files into one terminal
CRTL + WW : change file in splite command
:ZZ|q : quit a splite file
:set diff : compare two files
:vsp : visual splite vertically
CRTL + WW :
CRTL + V : visual mode
: d|D , y|Y, r | R
gf : go into file
CRTL + O : return the original file
# ------ other command -------------------
:. : repeat last operation
:J : Merge the under line and the current line eg. 3JA
:r : replace
:~ : change case-sensitive character
# ----- auto complenment ----------------
常用VI操作命令的更多相关文章
- 【Linux学习】Vi 操作命令集合
Vi 操作命令集合 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文 ...
- CentOS运维常用管理操作命令
自己整理的整理Linux常用运维和linux常用管理操作命令,当然不是非常详细和丰富,但是也基本上够用了吧.欢迎留言补充更多的Linux常用运维和linux常用管理操作命令.不断完善中.... 备份m ...
- git中常用的操作命令有哪些?常用操作命令归纳
git中常用的操作命令有哪些?本篇文章就给到大家归纳了一些git中常用操作命令.有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. git开始 全局配置:配置用户名和e-mail地址 1 ...
- 记录 git 常用的操作命令总结
记录 git 常用的操作命令总结 2016-12-15 16:44:04 作为一名开发者,熟悉使用 git 代码管理工具是一项必备的基本技能.git 相较 SVN 而言,其优点不言而喻.git 的功能 ...
- dos常用文件操作命令
1.DIR 含义: 显示指定目录下的文件和子目录列表 类型: 内部命令 格式: DIR[drive:][path][filename][/p][/w][/A[[:]attributes]][/O[[: ...
- centos文件/文件夹操作-检查磁盘、内存、cpu使用情况-vi操作命令
Part1:CentOS文件/文件夹操作 1.新建文件夹 即创建目录 mkdir 文件名 新建一个名为test的文件夹在home下 vi source1 mkdir /home/test 注意:当创建 ...
- GlusterFS常用维护操作命令
GlusterFS常用维护操作命令 1.启动/关闭/查看glusterd服务 # /etc/init.d/glusterd start # /etc/init.d/glusterd stop # /e ...
- [Linux] Linux常用文本操作命令整理
简单的总结一下常用的一些实用的Linux文本操作命令,包括wc(统计).cut(切分).sort(排序).uniq(去重).grep(查找).sed(替换.插入.删除).awk(文本分析). 1.统计 ...
- Linux vi 操作命令整理
转自:http://www.lupaworld.com/?uid-296380-action-viewspace-itemid-118973 vi/vim 基本使用方法 本文介绍了vi (vim) ...
随机推荐
- 解决导入MySQL数据库提示"Unknown character set: 'utf8mb4'"错误
今天老左在准备迁移公司一个客户的网站到另外一台服务器中,根据正常的操作备份最新的网页文件和导出数据库,然后在新服务器中创建站点和数据库wget迁移进去解压.因为数据库比较小,所以直接用PHPMyAdm ...
- __block __weak
IOS BLOCK收集 在ios,blocks是对象,它封装了一段代码,这段代码可以在任何时候执行.Blocks可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值.它和传统的函数指针很 ...
- 读懂 Deployment YAML - 每天5分钟玩转 Docker 容器技术(125)
既然要用 YAML 配置文件部署应用,现在就很有必要了解一下 Deployment 的配置格式,其他 Controller(比如 DaemonSet)非常类似. 还是以 nginx-deploymen ...
- CCF系列之Z字形扫描(201412-2)
试题编号:201412-2试题名称:Z字形扫描时间限制: 2.0s内存限制: 256.0MB 问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan).给定一个n ...
- Linuxc - gdb调试程序
指针实现变量交换值 #include <stdio.h> void change(int *a,int *b) { int tmp = *a; *a = *b;// 将指针a所在地址的值, ...
- 互联网公司为啥不使用mysql分区表?
转:http://www.cnblogs.com/zhulin516114/p/7306708.html 缘起:有个朋友问我分区表在58的应用,我回答不出来,在我印象中,百度.58都没有听说有分区表相 ...
- Spring切面优先级
项目中有两个切面,这两个切面都作用于同一个方法,哪个先执行哪个后执行呢,所以要定义一个切面的优先级 import java.util.Arrays; import org.aspectj.lang.J ...
- underscore.js 源码阅读 准备
本次阅读是初次阅读源码,参考了以下几篇文章: https://github.com/hanzichi?language=javascript&page=5&tab=stars http ...
- CSS3 动画及过渡详解
今天开始我们一起来学习有关于CSS3制作动画的几个属性:变形(transform).过渡(transition)和动画(animation)等CSS3技术. 首先我们先来了解一下变形(transfor ...
- 基于百度地图SDK和Elasticsearch GEO查询的地理围栏分析系统(3)-前端实现
转载自:http://www.cnblogs.com/Auyuer/p/8086975.html MoonLight可视化订单需求区域分析系统实现功能: 在现实生活中,计算机和互联网迅速发展,人们越来 ...