Linux学习笔记之vim编辑技巧

vim,一个纯文本(纯文本信息,ASCII text)编辑器,Vi(Visual Interface) IMproved,是一个模式化的编辑器。
> vim有自带的教程,也是linux的一个内置命令

一、基本模式分类
1 编辑模式(命令模式)
2 输入模式(插入模式)
3 末行模式(vim内置的命令行接口)

二、模式转换:

1 编辑模式——>输入模式

i :在当前的光标所在字符的前面,转入输入模式

a:在当前的光标所在字符的后面,转入输入模式

o:在当前的光标所在行的下方,新建一行,转入输入模式

I :在当前的光标所在行的行首,转入输入模式

A :在当前的光标所在行的行尾,转入输入模式

O :在当前的光标所在行的上方,新建一行,转入输入模式

2 输入模式——>编辑模式

ESC键

3 编辑模式——>末行模式

输入: 即可

:10d          :删除第10行

:10,20d      :删除第10到20行

:! ls /etc     :!与命令相结合

4 末行模式——>编辑模式

输入2 次 ESC键

三、打开文件

vim [options] [file ..]   默认进入模式为编辑模式

vim
/path/to/somfile  若文件存在,则打开;不存在,则建立该文件并打开

vim +n 
FILE  :打开该文件并且光标选择第n行行首

vim + FILE  :打开文件并处于最后一行的行首

vim +/PATTERN  :打开文件,定位至第一次被PATTERN匹配到的行的行首

例:

# vim +10 /etc/rc.d/init.d/network   # vim打开文件,并且将光标自动放在第10行行首
# vim + /etc/rc.d/init.d/network       # vim打开文件,并且将光标自动放在末行行首

四、关闭文件

1 末行模式关闭文件

:q      :退出

:wq   :保存退出

:q!     :强制退出,丢弃做出的更改

: w /path/to/somefile  :保存至指定文件中

2 编辑模式下退出

ZZ   :保存退出

五、移动光标

1 逐字符移动

h: 向左移动一个字符

j:向下移动一个字符

k:向上移动一个字符

l:向右移动一个字符

Nh /Nl :代表了向左,向右移动n个字符

2 逐单词移动

w :移至下一个单词的词首

e :跳至当前或下一个单词的词尾

b :跳至当前或前一个单词的词首

Nw /Ne :代表了向后移动至N个单词的词首或词尾

3 逐行跳转

0 :跳至绝对行首,Tab字符不算,如果行首有Tab键,则会跳到Tab键之后

^ :跳至行首的第一个非空白字符

$ :跳至绝对的行尾

4 行间跳转

NG:跳转至第N行

G :最后一行

末行模式下,直接给出行号即可 。

5 句间跳转

) :跳转至下一句

( ;跳转至前一句

Num : 与句跳转快捷键一同使用,向指定方向跳转句的个数,例如10),向后跳转10句

6 段间跳转

} :向后跳转一个段落

{ :向前跳转一个段落

Num :与段落跳转快捷键一同使用,向指定方向跳转的段落个数,例如2},向后跳转2个段落

六、翻屏

Ctrl +f   :向下翻一屏

Ctrl +b   :向上翻一屏

Ctrl +d   :向上翻半屏

Ctrl +u   :向上翻半屏

七、删除单个命令

x :删除光标所在处的单个字符

Nx 
:删除光标所在处及向后的的共N个字符

八、删除命令

1 d命令与跳转命令组合使用;

Ndh ,Ndl     : 删除跳转符左侧或右侧的N个字符

Ndj,Ndk     : 删除跳转符之上或之下的N行

Ndw ,Nde ,Ndb  : 删除跳转符之后的N单词

dd :删除光标所在行

#dd :删除包括当前光标所在行在内的#行

2 末行模式下删除行

:n,md  :表示删除从n到m行的内容

. :表示当前行

$ :表示最后一行

+#:向下的#行

九、粘贴命令 p /P

p(小写p):如果删除的或复制的内容为整行内容,则粘贴至光标所在行的下方;否则,则粘贴至光标所在行的后面

P(大写P):如果删除的或复制的内容为整行内容,则粘贴至光标所在行的上方;否则,则粘贴至光标所在行的前面

十、复制命令 y (与d命令使用方式相同)

yy :复制光标所在行

#yy:复制包括当前光标所在行在内的#行

:n,my  :表示复制从n到m行的内容

十一、撤销命令

u :撤销操作

#u :撤销#次操作

撤销掉错误的撤销工作 :ctrl +r

十二、可视化操作,功能:像windows的文本编辑工具一样,可以通过鼠标进行范围选定,然后进行操作

v :按字符选取

V:按行选取

十三、查找

/PATTERN
:向下查找匹配PATTERN字符的行

?PATTERN:向上查找匹配PATTERN字符的行

n  :向下查找被匹配的字符

N :向上查找被匹配的字符

十四、查找替换

在末行模式下使用s命令

ADD1,ADD2 [email protected]@[email protected]

.  表示光标选中的行

1,$等同于%  :表示文中的所有行

例:

:1,$ [email protected]@[email protected]     表示从第一行到最后一行把NOT替换为not

:% [email protected]^[[:space:]]\[email protected]@g   表示从全文删除以空白字符开头的行的行首的空白字符
:1,[email protected]*@#&@   表示文件的前三行的行首加#号

十五、如何打开多个文件 

1 Vim file1
file2 file3  默认显示的是第一个文件

:next  切换至下一个文件

:prev  切换至前一个文件

:last  切换至最后一个文件

:first  切换至第一个文件

2 退出:

:qa   退出所有文件

十六、如何分屏显示一个文件

Ctrl
+w,s  水平拆分窗口

Ctrl+w
, v 垂直拆分窗口

1 在窗口切换光标

Ctrl
+w  ,上下左右箭头  ,实现分屏切换

2 退出方式

:wqall | 保存所有文件并退出
    :wall | 保存所有文件
    :qall | 退出所有文件

十七、分窗口显示多个文件

vim  -o 
file1 file2  水平分窗口显示

Vim -O
file1 file2    垂直分窗口显示

十八、将当前文件中的部分内容另存为另外一个文件

1 末行模式下使用命令

:w

:ADDR1,ADDR2w /PATH/to/somwhere   表示把从第ADDR1行到ADDR2行的内容另存到/PATH/To/somewhere 文件中

十九将另外一个文件的内容填充在当前文件中

1 末行模式下使用命令

:r

:r /PATH/To/Somewhere  表示把文件中/PATH/To/somewhere 的内容写入到光标下一行

二十、与shell 交互 

:! COMMAND    与shell交互方法

二十一 、高级话题

在末行模式下做得设定,仅对当前vim进程有效;想要永久有效,要进行配置文件修改。
1 永久有效的配置文件:
    (1) 全局的: /etc/vimrc
    (2) 个人的: ~/.vimrc

2 显示或取消行号

:set nu   显示行号

:set nonu  取消行号

3 设定vim编辑器显示忽略或区分字符大小写

:set ic  忽略大小写

:set noic   不忽略大小写

4 设定自动缩进

:set autoindent  或 :set ai    设置自动缩进

:set noai         取消自动缩进

5 查找到的文件高亮显示

:set hlsearch   高亮显示

:set
nohlsearch   取消高亮显示

6 语法高亮

:syntax on

:syntax off   关闭语法高亮

时间: 2024-11-03 22:20:46

Linux学习笔记之vim编辑技巧的相关文章

Linux学习笔记<十>——vim编辑器

vi:Visual Interface vim:Visual Interface iMproved vim模式: 编辑模式(命令模式):默认打开vim后处于的模式 输入模式 末行模式 模式转换: 编辑-->输入: i: 在当前光标所在字符的前面,转为输入模式: a: 在当前光标所在字符的后面,转为输入模式: o: 在当前光标所在行的下方,新建一行,并转为输入模式: I:在当前光标所在行的行首,转换为输入模式 A:在当前光标所在行的行尾,转换为输入模式 O:在当前光标所在行的上方,新建一行,并转为

Linux学习笔记(二)---VIM

原文地址:http://blog.51cto.com/dezhou/2061063

linux学习笔记--vim程序编辑器

1,在linux系统中使用文本编辑器来编辑自己的linux参数配置文件是一件很重要的事情,因此系统管理员至少应该要熟悉一种文本编辑器. 2,不同的linux distribution各有不同的附加软件,linux命令行界面下的文本编辑器有Emacs,pico,nano,joe与vim 3,学习vim的重要性 (1)所有的UNIX Like系统都内置vi文本编辑器,其他的文本编辑器不一定存在 (2)很多软件的编辑接口都会主动调用vi (3)vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确

【Linux学习笔记】第5章 VIM工具

5.1vim介绍vim是vi的升级版,带有颜色显示,先安装包yum install -y vim-enhancedvim分为三种模式:一般模式.编辑模式.命令模式. 5.2vim颜色显示和移动光标相同的文件信息在不同目录下显示颜色会有差异.相同内容,不同文件名,显示颜色也会有差异.vim的配置文件/etc/vimrc. 5.3vim一般模式下移动光标一般模式下:h或向左的方向键 光标向左移动一个字符l或者向右的方向键 或者空格键 光标向右移动一个字符Ctrl+f或PageUp键 屏幕向前移动一页

Linux学习笔记033_11进程

ps:(process information,静态的) 显示进程信息,不加参数显示当前终端的进程 a:包括所有终端的进程 x:不属于任何终端的进程,和任何用户无关系的进程 u:显示出进程的拥有人 f:显示进程的附属关系(依赖关系,父子进程) USER:进程的拥有人 PID:进程ID,默认用进程ID排序 VSZ:程序在运行时调用多少虚拟内存 RSS:真实内存 TTY:?不属于任何终端,进入终端之前就运行 STAT:状态,s为睡眠 TIME:进程持续时间 COMMAND:运行这个进程的指令 ps

linux学习笔记(一)-文件目录相关的命令&&文件通配符

一.几个命令概述 1.查看目录以及目录底下的文件:ls(-a显示隐藏文件:-d显示目录本身:-l显示详细内容:-R递归显示,即把子目录的文件也显示出来:-h以更加被人类理解的格式显示,比如显示文件大小的时候用M为单位显示:-i显示文件索引ID) 2.查看文件内容:cat,head,tail,less,more,tac cat:将文件连接起来,输出在屏幕上,可接多个文件(-E:显示隐藏的换行符:-n:显示出行号) head:默认查看文件的前10行(-n#:查看文件的前#行.空白行也是一行) tai

Linux学习笔记——如何使用echo指令向文件写入内容

0.前言 本文总结如何使用echo命令向文件中写入内容,例如使用echo指令覆盖文件内容,使用echo指令向文件追加内容,使用echo指令往文件中追加制表符. echo向文件中输出内容的基本方法是使用IO重定向指令--">",默认情况下echo输出到标准输出中,使用>指令可重定向输出到文件中. 1.echo指令基本用法 [1]Linux官方用户手册--echo指令 [2]输入指令获得帮助 sudo echo --help 返回内容如下 用法:echo [短选项]... [字

Linux学习笔记--vi

在Linux上使用vi命令修改一个文件内容的时候,发现无法保存,每次写完使用“:q!”命令可以正常退出但是使用":wq!"命令保存文件并退出时出现一下信息提示: E212: Can't open file for writing Press ENTER or type command to continue 出现这个错误的原因可能有两个: 1.当前用户的权限不足 2.此文件可能正被其他程序或用户使用. 一般错误原因都是前者,解决方案是在使用vi命令打开文件时,前面加上sudo来临时提供

linux学习笔记2-linux的基本命令

第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装linux操作系统,以及一些基本的设置修改. 本篇博客主要介绍linux中的一些基本的控制台命令 ============================================== 连接远程机器 以指定用户名登陆的命令为:ssh [email protected] (一般情况都需要指定用户名) 以指定用户名和指定端口登陆的命令为:ssh [email protected] -p XXX 断开连接的命