菜鸟学Linux 第019篇笔记 vim编辑器使用

简介:

菜鸟学Linux 第019篇笔记 vim编辑器使用



vim编辑器


文本编辑器、字处理器

ASCII


nano, sed, vi vim

vi: Visual Interface

Vim: VI iMproved (vim - Vi IMproved, a programmers text editor)

一个全屏编辑器、模式化编辑器

vim模式:

编辑模式(命令模式)

输入模式

末行模式


模式转换:

编辑-->输入

i 在当前光标字符前,转为输入模式;

a 在当前光标字符后,转为输入模式;

o 在当前光标所在行下方插入行,并转为输入模式;

I 在当前光标行首,转为输入模式;

A 在当前光标行尾,转为输入模式;

O 在当前光标所在行上方插入行,并转为输入模式;

esc键 从输入退出到编辑

输入-->末行

: 进入末行模式

n,md 删除n行到m行

set nu 显示行号

! com 执行命令

esc键 退出到编辑(有时需要连敲两下)

输入--末行 两才之间不可直接转换,需借助编辑模式;

一、打开或者建立文件(打开默认处于编辑模式)

# vim /path/somefile 如果此目录下没有该文件则建立该文件,有则打开该文件

# vim +num 打开文件,并定位于第num行

# vim + 打开文件,定位至最后一行

# vim +/PATTERN 打开文件,定位至第一次被/PATTERN


二、关闭文件

1.末行模式关闭文件

:q 退出(如已经编辑,会提示无法退出)

:wq 保存并退出

:!q 强型退出(不保存退出)

:w 保存

:w! 强行保存(需管理员权限)

:x =:wq


2.编辑模式下退出

Ctrl+z, (这样只是临时退出vim编辑器,类似windows最小化,使用fg可以调用出来)


三、移动光标

1.逐字符移动光标

h left

l right

j down

k up

#方向 移动#个方向 #表示数字


2.逐单词跳转

w 移动到下一个单词首

e 移动到当前单词或下一个单词尾

b 移动至当前或前一个单词的词首

也支持#方向 移动多个词#表示数字

3.行内跳转

0 表示跳到行首

^ 表示行首(移动到行首第一个非空字符)

$ 行尾

4.行间跳转

#G 跳转至第几行

G 最后一行

末行模式直接给出行号回车也可以跳转

四、翻屏

Ctrl+d 向下翻半屏

Ctrl+u 向上翻半屏

Ctrl+f 向下翻一屏

Ctrl+b 向上翻一屏

五、编辑命令

x 删除单个字符,支持前边加数字,表示向后删除多少个字符

六、删除命令 d

d 命令要和跳转命令一起使用

dd 删除当前光标所在行,支持加数字。

dw 删除词 de db

七、粘贴命令 p P

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

如果删除或复制非整行内容,则粘贴至光标所在字符的前面

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

如果删除或复制非整行内容,则粘贴至光标所在字符的后面

八、复制命令 y

用法同d

九、修改 先删除内容,再转换为输入模式

c  用法同d命令

十、替换 r

r 替换单个字符

R 进入替换模式(可以替换多个字符)

十一、撤消编辑操作 u

u 撤消前一次操作,可连续使用,也可加数字直接撤消N步

ctrl+r 还原此前的一次撤消操作

十二、重复执行前一次的编辑操作

.

十三、可视化模式

v 按字符选取

V 按矩形选取

十四、查找 末行模式

/pattern 从当前光标向下查找

?pattern 从当前光标向上查找

n下一个 N向上跳

十五、查找并替换 末行模式

ADDR,ADDR2s@pattern@替换内容@gi




十六、如何打开多个文件

vim file1 file2 file3

:next  切换至下一个文件

:prev  切换至前一个文件

:last  切换至最后一个文件

:first 切换至第一个文件

退出多个文件 :qa 全部退出(quit all)


十七、分屏显示一个文件

Ctrl+w, s 水平拆分窗口

Ctrl+v, v 垂直拆分窗口


在窗口间切换光标

Ctrl+w, arrow(上下左右)


:qa 关闭所有窗口

十八、分窗口编辑多个文件

vim -o file1 file2 水平分割显示

vim -O file1 file2 垂直分割显示



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

末行模式下使用w命令

:ADDR,ADDR,w /path/filename



二十、将其它文件中的部分内容读取到当前文件

:r /path/filename

二十一、跟shell交互

:! command


二十二、高级话题(配置后仅对当前vim进程有效)

1、显示或取消显示行号

:set nu 显示

:set nonu 取消

2、忽略或区分大小写

:set ignorecase

:set ic 忽略

:set noic

3、自动缩进

:set autoindent

:set ai

:set noai

4、查找到的文本高亮显示或取消

:set hlsearch

:set nohlsearch

5、语法高亮

:syntax on

:syntax off

二十三、vim配置文件

/etc/vimrc 全局配置文件

~/.vimrc 当前用户生效(配置放到用户家目录下,如果没有该文件自行创建)

二十四、自学vim方式

vimtutor 此命令执行后会看到一个vim自学教程,打开后可以进行自学

 前提:你得会英文哦,,!!努力吧!!


小提示:如果vim在编辑文档时,远程连接突然中断,然后重新连接用vim打开该文件时,会有

提示swap里有之前编辑过的该文档,如果想继续之前的,直接按照想对应的英文选择

选项进入,然后保存后,重新打开还会有,这时就需要切换到该文件目录下找到与所

编辑文档名相对应的隐藏文件名.name.swp将此文件删除即可.

(切记要保存)

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1865111如需转载请自行联系原作者

Winthcloud
相关文章
|
29天前
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
93 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
3月前
|
Unix Linux 开发工具
在Linux中,有哪些基本的 Vim 命令?
在Linux中,有哪些基本的 Vim 命令?
|
1月前
|
存储 运维 搜索推荐
|
24天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
73 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
1月前
|
Java Unix Linux
Linux vi/vim
Linux vi/vim
21 5
|
1月前
|
机器学习/深度学习 Linux 编译器
Linux入门3——vim的简单使用
Linux入门3——vim的简单使用
55 1
|
18天前
|
IDE 搜索推荐 开发工具
LunarVim,vim编辑器推荐
【10月更文挑战第9天】
|
24天前
|
Unix Linux 开发工具
Linux Vim的 命令大全
Linux Vim的 命令大全
16 0
|
2月前
|
存储 Linux Shell
常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
这篇文章介绍了Vim编辑器的基本使用、常用命令和模式,以及Linux系统中用户和组的管理方法,包括用户和组相关文件如/etc/passwd、/etc/shadow和/etc/group的说明。
常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
|
2月前
|
存储 Linux 编译器
linux中vim介绍以及常用命令大全
linux中vim介绍以及常用命令大全
75 8
下一篇
无影云桌面