Linux学习—vim大全

vim--




目录

  • vim的使用
  • 退出模式
  • vim的三种主要模式
  • 命令模式
  • vim的个性化配置
  • 产生.swp文件的深入解析


一、vim的使用

vim + filename

编辑文件,当文件不存在的时候会在保存退出后自动创建文件

vim + file1 + file2 + ... 编辑多个文件

:next  下一个文件

:prev   上一个文件

:first   第一个

:last    最后一个

:wall    保存所有

:qall    退出所有

:wqall   保存退出所有

vim -o + file1 + file2      多文件水平分割显示

-O + file1 + file2      多文件垂直分割显示

Ctrl + w,然后上或下     屏幕跳转

Ctrl + w,然后v         一个文件垂直分割

Ctrl + w,然后s         一个文件水平分割

:qall                   全部退出



二、退出模式

(保存退出)

:     进入退出模式

w      保存

q      退出

q!     强制退出,不保存

w!     强制保存

当文件权限为400,文件的所属人可以使用w!

wq,x  保存退出

r + filename  将文件filename内容粘贴到当前文件

w + filename  将当前文件内容存入另一个文件filename

! + command   将命令执行结果直接插入到相应位置

r! + command  将命令输出结果写入在光标所在行的下一新行

.! + command  将命令输出结果替换光标所在行内容

ESC(按一下) 延时2秒进入命令模式

ESC(按两下) 立即进入命令模式

/关键词      向下搜索

?关键词      向上搜索

%s/要查找的内容/替换为的内容/修饰符

其中的分隔符/可以换成@

修饰符:

%    对全文生效

i    取消大小写

g    全局替换,不加g每一行只替换第一次出现的



三、vim的三种主要模式

退出模式

插入模式

(文本编辑)

命令模式



四、命令模式

(移动光标,复制,剪切,粘贴,撤销,重做,搜索,进入其他模式)

h(左)l(右)k(上)j(下)       移动光标

w       单词间移动

H       跳转至页首

L       跳转至页尾

M       跳转至页中间

gg      文件的首行

G       文件的尾行

数字 + G 跳转至第几行  或者 退出模式下 数字 + enter

i       在光标所在位置进入插入模式

I       在光标所在行的行首进入插入模式

a       在光标所在位置的后一个字符进入插入模式

A       在光标所在行的行尾进入插入模式

o       在光标所在行的下一行创建空白行并进入插入模式

O       在光标所在行的上一行创建空白行并进入插入模式

ZZ      保存退出

ZQ      不保存退出

u       撤销,最终至文件打开时候的状态

U       直接撤销至文件打开时候的状态(仅对一行内容有效,修改期间换行则失效)

.       重复上一个操作

e!      将文件直接恢复到打开状态

v       从光标开始的位置上下左右选中内容(针对字符)

V       从光标所在行的位置上下选中整行(针对行)

r + 任一字符  替换

R       进入替换模式。可以多个字符修改

dd      剪切光标所在行内容

dw      剪切光标所在的整个单词

yy     复制光标所在行内容

yw      复制光标所在的整个单词

p       在光标所在行的下一行粘贴或者光标所在处向后

P       在光标所在行的上一行粘贴或者光标所在处向前

Ctrl + f  向下翻屏

Ctrl + b  向上翻屏

Ctrl + d  向下翻半屏

Ctrl + u  向上翻半屏



五、vim的个性化配置

/etc/vimrc   针对所用用户

~/.vimrc     针对指定用户

(先/etc/vimrc再~/.vimrc,后者的效果会覆盖前者的效果)

set number 或者 set nu     显示行号

set nonumber 或者 set nonu 取消显示

set ai       自动缩进

set noai     取消缩进

set list     显示Tab键为^I和换行符为$

可以区分Tab、空格、换行

set nolist  取消

但是上述的配置会在退出之后设置不予保存,可以:

vim /etc/vimrc

set ai/nu/list 添加到第一行

wq保存退出

永久设置成功



六、产生.swp文件的深入解析

有时候我们利用vim编辑文件,会出现Swap file ".xxx.swp" already exists!的字样。下面来分析这种情况:

①利用watch命令,可以动态的刷新一条命令的输出结果,

在终端1下输入watch -n 1 ls -al /app 每隔一秒刷新/app目录下的情况

②然后打开另一终端(命名为终端2)输入vim /app/fstab

发现终端1出现了.fstab.swp文件

③当我们编辑fstab之后,正常保存退出或者直接退出,终端1的.fstab.swp文件不在了

④我们联想下命令模式下为什么u可以一直撤销至最终打开的状态;当我们对fstab文件不停地大量修改的时候,我们发现终端1的.fstab.swp文件大小一直增大,fstab文件大小不变。

⑤再打开一终端(终端3),输入killall vim,即表示非正常退出,终端1的.fstab.swp仍然存在

⑥在终端2输入cat fstab,结果显示的是文件没有修改之前的内容,即没有保存

最终得出:当.fstab.swp存在时,vim fstab会出现Swap file ".xxx.swp" already exists!字样{一种情况是另一个用户正在编辑,一种情况就是上次编辑非正常退出}

其实这个文件存放着上次修改文件但未保存的内容

⑦如果想正常编辑fstab文件,可以在终端2输入vim -r fstab,出现提示按enter

发现终端1出现了一个.swp.swo文件

这是因为原来的.swp没有删除,再次编辑fstab文件时,会再次出现一个.swp文件,但是.swp文件已经存在,所以只能用另外一个名字.swo(防止重名)

⑧这次:wq正常退出之后,.fstab.swo消失

⑨对于最后的.fstab.swp文件我们可以rm .fstab.swp删除

也可以vim fstab进入之后输入D选项然后正常保存退出

原文地址:http://blog.51cto.com/13570193/2066180

时间: 2024-07-30 00:43:22

Linux学习—vim大全的相关文章

Linux学习-VIM命令编辑

VIM命令编辑 普通模式 vim + 文件 进入时就是正常模式 ESC 按 ESC 可回到正常模式 i 进入编辑模式,末行提示"插入",可插入文本 I 或 shift + i 进入编辑模式,光标停在当前行开头 a 进入编辑模式,光标会停留在前一次光标的下一个位置 A 进入编辑模式,光标停留在当前行的结尾 o 进入编辑模式,向下插入一行,光标停在开头 O 或 shift + o 进入编辑模式,向上插入一行,光标停在开头 hjkl 光标上左右下移动 p 粘贴,向下插入一行并粘贴 yy 复制

linux学习之路之vim编辑器的使用

本章将介绍vim编辑器的使用 vim编辑器是vi编辑器的增强版 vim是一种全屏的编辑器,是一种模式化的编辑器,之所以称为模式化的编辑器,因为vim有多种模式. 接下来将介绍vim主要的三种模式: 编辑模式(也叫命令模式):在该模式下你可以完成字符串跳转,字符串删除,翻屏操作等操作 输入模式:在该模式下输入的任何字符都会保存在该文件中,作为文件的一部分 末行模式:在该模式下,可以实现字符串搜索,字符串替换等操作 vim编辑器的三种模式之间的相互转换 模式转换: 编辑模式-->输入模式 i:在当前

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学习4——Vim和Bash

一.写在前面  本将将介绍Linux自带的强大的文本编辑器Vim和Bash的相关知识. 二.完成目标 1.了解Vim和Bash的基本概念 2.定制自己的vim 3.Bash中的一些命令 4.管道命令 三.基本概念 1.什么是Vi? Vi是Unix及Linux系统下标准的编辑器.学会它后,您将在Linux的世界里畅行无阻.更多 2.什么是Vim? Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.Vim是纯粹的自由软件.更多 3.为什么要学习Vim

<<Linux 命令行大全学习1~2章笔记>>暑假学习

 <<Linux 命令行大全学习1~2章笔记>>暑假学习 第一章:shell是什么? 1 shell Shell是一个和Linux内核交互的解释性程序,我们在图形用户下通过shell终端仿真器可以和操作系统进行交互. 2本章命令行 date:显示时间 cal:  显示日历 df: 显示磁盘驱动器内存 free:显示系统内存 exit:退出终端 第二章:导航 2.1理解文件系统树 Linux系统采用树的结构表示系统的文件.目录和设备文件. 2.2当前工作目录 树的顶部是根目录,通常/

【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学习之Vim/Vi使用(十三)

Linux学习之Vim/Vi使用 Vim/Vi简介 Vim/Vi工作模式 Vim/Vi基本使用 Vim/Vi应用技巧 Vim/Vi简介 Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立.编辑.显示文本文件. Linux下的编辑器最常用的就是vim或者vi文本编辑.vi 和vim 编辑器的区别是vim是vi的改进版本,在vi 编辑器的基础上上扩展了很多实用的功能.?大多数的linux/unix 发行版本中都使用 vim 代替了原来的 vi 文

Linux学习命令汇总五——vim 使用技巧及快捷键

本章Blog相关Linux知识点 vim模式:编辑模式(命令模式)--键盘操作通常解析为编辑命令:输入模式--键盘输入模式:末行模式--Vim内置的命令接口,执行Vim内置命令 vim配置文件: /etc/vimrc 模式转换: 编辑模式--> 输入模式: i:在当前的光标所在的字符的前面,转入输入模式 I:在当前的光标所在的行首,转入输入模式 a:在当前的光标所在的字符的后面,转入输入模式 A:在当前光标所在的行尾,转入输入模式 o:在当前的光标所在的行的下面,新建一行,转入输入模式 O:在当

Linux学习笔记(十八) vim(二)、编辑模式、vim实践练习

一. 编辑模式 命令行模式替换时如果需要替换的字符中有/符号,那么可以将分隔符换成#或者@ :1,100s#/good/weer/#well#g 将前一百行中的/good/weer/替换为well,:nohl 取消搜索时的高亮显示,:x也是保存并退出,但是如果并未改动文件内容,:wq会修改mtimex不会修改mtime vim练习 cp /etc/dnsmasq.conf /tmp/1.txt (1) 分别向下.向右.向左.向上移动6个字符(6j 6l 6h 6k).(2) 分别向下.向上翻两页