一 vi的操作模式

vi提供两种操作模式:输入模式(insert mode)和指令模式(command mode)。在输入模式下,用户可输入文本资料。在指令模式下,可进行删除、修改等各种编辑动作。

在输入模式下,按Esc键切换到指令模式下。

在指令模式下,按输入指令(i、a、o等)进入输入模式。

二 进入vi

$ vi filename

直接键入“vi + 所要编辑的文件名”,即可对指定的文件进行编辑。

如果指定的文件为新文件,则提示:“New file”,否则显示该文件的当前内容。

$ view filename

以只读方式打开文件filename

三 指令模式

3.1 进入输入模式

a 在当前游标之后输入

A 在当前行之末输入

i 在当前游标之前输入

I 在当前行之首输入

o 在当前行之下新增一行,并在新增行输入

O 在当前行之上新增一行,并在新增行输入

输入结束后,按Esc键退出输入模式。

3.2 游标移动

h 向左移动一个字元

l 向右移动一个字元

j 向下移动一个字元

k 向上移动一个字元

b 左移一个单词,至词首

w 右移一个单词,至词尾

0 移到当前行行首

$ 移到当前行行尾

+ 移至下一行的行首

- 移至上一行的行首

H 移至视窗的第一行

M 移至视窗的中间一行

L 移至视窗的最后一行

G 移至该文件的最后一行

nG 移至该文档的第n行

n+ 下移n行

n- 上移n行

3.3 视窗移动

 <Ctrl> + f 视窗下卷一页

 <Ctrl> + b 视窗上卷一页

<Ctrl> + d 视窗下卷半页

<Ctrl> + u 视窗上卷半页

 <Ctrl> + e 视窗下卷一行

 <Ctrl> + y 视窗上卷一行

3.4 删除操作

x 删除游标所在字元

X 删除游标前一字元

dw 从游标当前位置开始向后删除一个单词

db 从游标当前位置开始向前删除一个单词

d0 从行首删除至当前游标位置

d$ 从游标当前位置删除至行尾

dd 删除游标所在行

D 同d$

3.5 修改操作

yy 复制一行到剪贴板

p    将剪贴板内的字符粘帖到当前行

s 修改游标所在字元,修改完成后按Esc键结束

S 修改整行内容,修改完成后按Esc键结束

r 替换当前游标所在字元

R 进入替换状态,直至按Esc键结束

cw 修改一个单词(从游标位置至词尾)

cb 修改一个单词(从词首至游标位置)

cc 修改整行内容,完成后按Esc键结束,同S

c0 修改行首至游标位置的内容

c$ 修改游标位置至行尾的内容

~ 游标所在字元大小写切换

3.6 指令重复

在指令模式中,可在指令前面加入一个数字n,则该指令会重复执行n次。常用的重复操作有:

nx 删除n个字元

ndd 删除n行

ns 修改n个字元

3.7 取消前一动作(Undo)

u 撤消上一指令的结果

3.8 查找字符串

/字符串 从当前游标向后查找该字符串

?字符串 从当前游标向前查找该字符串

n 从当前游标向后查找下一个字符串

N 从当前游标向前查找下一个字符串

3.9 查看编辑状况

<Ctrl> + g 显示正在编辑的文件名、当前游标所在行数、文件总行数、文件是否被修改

四 保存与退出

:w 保存,但不退出

:wq 保存并退出

:x 同:wq

:q 退出,如果当前文件没有保存,禁止退出

:q! 不保存退出

:w file1 将内容保存至文件file1中,注意:此时编辑的仍为原文件

:w! file1 将内容覆盖保存至文件file1中,如文件file1存在,:w file1将禁止执行

五 环境设置

:set 显示已设置的环境状况

:set all 显示所有的环境设置选项

:set nu 显示行号

:set nonu 不显示行号

:set ts = n 设置Tab键的长度为n

六 执行指令

以下用具体的数字为例进行介绍,数字表示行数,游标所在行可用“.”代替,文件最后一行可用“$”代替。

: 10 , 20d 删除第10行至第20行的内容

:10d 删除第10行的内容

:%d 删除全部内容

: 10 , 20co30 将第10行至第20行的内容复制到第30行之后

: 10 , 20mo30 将第10行至第20行的内容移动到第30行之后

: 1 , $s/old/new 将第1行至最后一行中的old替换成new

: 1 , $s/^/new 将第1行至最后一行的内容前面插入new

: 10 将游标移至第10行

七 重复指令

. 重复上一条指令

八 切换到shell状态

:sh 切换到shell状态,exit返回

1201.1——Vim编辑器的相关操作的更多相关文章

  1. vim 编辑器的光标操作

    vim中最简单的移动光标的方式是使用使用方向键操作,但这种方式的效率底下,更高效的方式是使用快捷键,常用的快捷键如下表所示. 快捷键                                 功 ...

  2. VIM编辑器的宏操作

    这两天看到一个小练习,要求如下: 在GVIM下,将下面这张图的内容 改成下面这样 并且指出,要用批量操作的方式,不能一行一行的键入 其实第一反应是利用正则表达式来操作,但是让用正则表达式以外的操作方式 ...

  3. vim编辑器使用相关

    alias 查看vi是否已经绑定vim 一.vim的块选择 v 字符选择 V 行选择 ctrl+v 快选择 y 复制选择的地方(p进行粘贴) d 删除选择的地方 二.vim多文件编辑 :n 编辑下一个 ...

  4. vim编辑器操作①

    Linux文本编辑器: 行编辑器:sed 全屏编辑器:nano,vi/vim 本文主要介绍说明vim编辑器的相关使用: 其有三种模式,即: 编辑模式(默认模式).插入模式(输入模式).末行模式(内置的 ...

  5. Vim编辑器设置及其使用

    一.vim编辑器的相关配置文件 /etc/vimrc:vim编辑器的全局配置文件,针对所有用户有效 /etc/virc:vi编辑器的全局配置文件,针对所有用户有效 ~/.vimrc:vim编辑器的其他 ...

  6. Linux中vim编辑器常用操作技巧

    Normal 0 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-styl ...

  7. 【Linux学习】Vi / Vim编辑器—编辑器工作模式、vi编辑操作

    Vi / Vim编辑器-编辑器工作模式.vi编辑操作 推荐一个很好的学习指南:http://www.oschina.net/translate/learn-vim-progressively 一.编辑 ...

  8. vi/vim编辑器操作梳理

    1. vi/vim编辑器详细使用讲解 1.1 vi/vim编辑器的3种模式 1.2 vi/vim编辑器操作说明 参数/命令/模式 说明 ###普通模式   :set nu  显示行号 :set non ...

  9. 『学了就忘』vim编辑器基础 — 95、命令模式中的相关命令

    目录 1.移动光标操作 2.删除或剪切操作 3.复制操作 4.撤销操作 5.替换操作 6.补充一个知识点 命令模式中的命令主要取代的是Linux系统中鼠标的操作. vim编辑器的快捷键一般都集中在命令 ...

随机推荐

  1. CentOS-6.4安装配置Nginx

    在安装nginx前,需要确保系统安装了g++.gcc.openssl-devel.pcre-devel和zlib-devel软件.安装必须软件: [root@admin /]#yum install ...

  2. HDU1276(士兵队列训练模拟与链表)

    HDU1276 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u   Descripti ...

  3. 我的sublime常用快捷键

    sublime一般被应用于前端开发,在实际开发中,我们常用的sublime快捷键有哪些呢?这里汇总一下,常用的排在前面. 常用快捷键 Ctrl+Shift+P:打开命令面板 Ctrl+D:选择重复单词 ...

  4. 使用dom4j 读取XML文件

    第一次接触dom4j的时候,感觉这个东西很神秘,因为之前虽然知道XML文件吧,但从来没有用过,一直感觉XML肯定不好操作.当得知,dom4j可以很容易的操作读取XML文件时,不免有些好奇,那么,用do ...

  5. logstash (?m) 经典例子

    在和 codec/multiline 搭配使用的时候,需要注意一个问题,grok 正则和普通正则一样,默认是不支持匹配回车换行的.就像你需要 =~ //m 一样也需要单独指定,具体写法是在表达式开始位 ...

  6. Wormholes 最短路判断有无负权值

    Description While exploring his many farms, Farmer John has discovered a number of amazing wormholes ...

  7. -_-#【Backbone】View

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. 最短路算法模板合集(Dijkstar,Dijkstar(优先队列优化), 多源最短路Floyd)

    再开始前我们先普及一下简单的图论知识 图的保存: 1.邻接矩阵. G[maxn][maxn]; 2.邻接表 邻接表我们有两种方式 (1)vector< Node > G[maxn]; 这个 ...

  9. Linux环境下使用图形化界面的SVN客户端软件-RabbitVCS

    如果想在Linux环境下使用图形化界面的SVN客户端软件,那么RabbitVCS绝对是首选,可以媲美Windows环境下用的TortoiseSVN,甚至连操作都基本一样,所以强烈推荐给各位童鞋. Ra ...

  10. 3Sum Closest——LeetCode

    Given an array S of n integers, find three integers in S such that the sum is closest to a given num ...