linux学习日记七 vim程序编辑器使用
在命令模式下输入 :wq 表示保存离开,输入 :wq! 表示强制写入并离开,前提是你的权限可以改变。
一般模式下的按键列表:
移动光标的方法 | |
h 或 向左方向键(←) | 光标向左移动一个字元 |
j 或 向下方向键(↓) | 光标向下移动一个字元 |
k 或 向上方向键(↑) | 光标向上移动一个字元 |
l 或 向右方向键(→) | 光标向右移动一个字元 |
如果你将右手放在键盘上的话,你会发现 hjkl 是排列在一起的,因此可以使用这四个键来移动光标。 如果想要进行多次的话,例如向下移动 30 行,可以使用 “30j” 或 “30↓” 的組合按鍵, 亦即加上想要进行的次数(数字)后,按下动作即可! | |
[Ctrl] + [f] | 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用) |
[Ctrl] + [b] | 屏幕『向上』移动一页,相当于[Page Up] 按键 (常用) |
[Ctrl] + [d] | 屏幕『向下』移动半页 |
[Ctrl] + [u] | 屏幕『向上』移动半页 |
+ | 光标移动到非空白字元的下一列 |
- | 光标移动到非空白字元的上一列 |
n<space> | 那个 n 表示『数字』,例如 20 。按下数字后再按空白键,光标会向右移动这一行的 n 个字元。例如 20<space> 则光标会向后面移动 20 个字元距离。 |
0 或^或功能键[Home] | 这是数字『 0 』:移动到这一行的最前面字元处 (常用) |
$ 或功能键[End] | 移动到这一行的最后面字元处(常用) |
H | 光标移动到这个屏幕的最上方那一行的第一个字元 |
M | 光标移动到这个屏幕的中央那一行的第一个字元 |
L | 光标移动到到这个屏幕的最下方那一行的第一个字元 |
G | 移动到这个文件的最后一行(常用) |
nG | n 为数字。移动到这个文件的第 n 行。例如 20G 则会移动到的第 20 行(可配合 :set nu) |
1G或者gg | 移动到这个文件的第 1 行 (常用) |
n<Enter> | n 为数字。光标向下移动 n 行(常用) |
搜尋與取代 | |
/word | 向光标之下寻找一个名叫 word 的字串。例如要在文件內搜寻yidao这个字符串,就输入 /yidao 即可! (常用) |
?word | 向光标之上寻找一个字串名称为 word 的字串。 |
n | 这个 n 是英文的小写按键n。代表『重复前一个搜寻动作』。举例来说, 如果刚刚我们执行 /yidao 去向下搜寻 yidao 这个字符串,则按下 n 后,会向下继续搜寻名为 yidao的字串。如果是执行 ?yidao 的话,那么按下 n 则会向上继续搜寻名为 yidao的字串! |
N | 这个 N 是英文大写按键N。与n刚好相反,为『反向』进行前一个动作。 例如 /yidao 后,按下 N 则表示『向上』搜寻yidao 。 |
使用 /word 配合 n 及 N 是非常有帮助的!可以让你重复的找到一些你搜寻关键词! | |
:n1,n2s/word1/word2/g | n1与n2为数字。在第 n1 与 n2 行之间寻找 word1 这个字串,并将该字符串替换为 word2 !举例來说,在 100 到 200 行之间搜寻 yidao并取代为YIDAO: 『:100,200s/yidao/YIDAO/g』。(常用) |
:1,$s/word1/word2/g | 从第一行到最后一行寻找 word1 字串,并将该字符串替换为 word2 !(常用) |
:1,$s/word1/word2/gc | 从第一行到最后一行寻找 word1 字串,并将该字符串替换为 word2 !每次替换前会提示用户消息是否替换!(常用) |
删除、复制、粘贴 | |
x, X | 在一行中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是倒退键) (常用) |
nx | n 为数字,连续向后删除 n 个字元。比如,我要连续删除 10 个字元, 『10x』。 |
dd | 删除光标所在的那一行(常用) |
ndd | n 为数字。删除光标所在的向下 n 列,例如 20dd则是删除 20 行 (常用) |
d1G | 删除光标所在到第一行的所有数据 |
dG | 删除光标所在到最后一行的所有数据 |
d$ | 删除光标所在处,到该行的最后一个字符 |
d0 | 那个是数字的 0 ,删除光标所在处,到该行的最前面一个字符 |
yy | 复制光标所在的那一行(常用) |
nyy | n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用) |
y1G | 复制光标所在行到第一个行的所有资料 |
yG | 复制光标所在行到最后一行的所有资料 |
y0 | 复制光标所在的字符到该行行首的所有字符 |
y$ | 复制光标所在的字符到该行行尾的所有字符 |
p, P | p 为将已经复制的数据在光标下一行粘贴上,P则为粘贴在光标上一行! (常用) |
J | 将光标所在行和下一行数据合并成一行 |
c | 重复删除多个资料,例如向下删 10 行,[ 10cj ] |
u | 还原(undo)前一个动作。(常用) |
[Ctrl]+r | 重做上一个动作。(常用) |
这个 u 与 [Ctrl]+r 是很常用的指令!一个是还原,另一个是重做~ 利用这两个功能按键,你的编辑,嘿嘿!很爽的啦! | |
. | 不要怀疑,这个就是小数点!意思是重复前一个动作的意思。 如果你想要重复删除、重复粘贴等,按下小数点『.』就好了! (常用) |
====块选择(Visual Block)====
区块选择按键说明 | |
v | 字符选择,会将光标经过的地方反白选择 |
V | 行选择,会将光标经过的行反白选择! |
[Ctrl]+v | 列选择模式 |
y | 将反白的区域复制下来 |
d | 将反白的区域删除掉 |
====多文件编辑====
可以用vim file1 file2来打开多个文件同时编辑,多文件的三个命令:
多文件编辑的按键 | |
:n | 编辑下一个文件 |
:N | 编辑上一个文件 |
:files | 列出目前这个 vim 的开启的所有文件 |
====多窗口功能====
在命令模式下输入:sp [filename],可在新窗口打开filename文件,如果没有输入filename,则默认把当前文件切割成两个。
窗口切换:
* ctrl+w+j把光标移动到下一个窗口
* ctrl+w+k把光标移动到上一个窗口
* ctrl+w+q其实就是:q结束离开的意思
====vim环境设置:~/.vimrc,~/.viminfo====
有没有发现呢,如果我们以vim查找一个文件内容,然后再次打开后,那个查找的字符串还是会反白显示。另外我们光标所在行数也是上次你关闭vim时候的行数,这个就是通过~/.viminfo这个文件记录的。相当于vim编辑的history文件,你编辑的历史记录基本都记录在这里头。自动产生的。o(╯□╰)o
vim的配置文件为/etc/vimrc,不过不建议你修改它,因为它是所有用户公共的默认配置文件,如果你想拥有自己的配置文件,可以修改~/.vimrc,这个文件默认是没有的,你可以手动建立一个,然后写入你自己有个性的设置:
[root@www ~]# vim ~/.vimrc
"这个文件的双引号 (") 是注释
set hlsearch "高亮度反白
set backspace=2 "可以用Backspace键删除
set autoindent "自动缩进
set ruler "可显示最后一行的状态
set showmode "左下角那一行的状态
set nu "可以在每一行的最前面显示行号啦!
set bg=dark "显示不同的底色色调
syntax on "语法高亮显示。
====DOS与linux断行字符====
dos断行字符为CR(回车)与LF(换行)两个字符,而linux只有LF(换行)一个字符,如果是dos和windows系统需要跟linux系统进行文件文件的交互,需要进行转换。
命令:
# dos2UNIX [-kn] file [newfile]
# UNIX2dos [-kn] file [newfile]
-k:保留该文件的mtime时间
-n:保留旧文件,将转换后的内容输入到新文件newfile中
====语系编码转换====
# iconv –list
# iconv -f 原来编码 -t 新编码 filename [-o newfile]
实例分析:将繁体中文的utf8转换成简体中文的utf8编码:
# iconv -f utf8 -t big5 vi.utf8 | iconv -f big5 -t gb2312 | iconv -f gb2312 -t utf8 -o vi.gb.utf8
==============End=====================
相关文章
- 然 Ubuntu 提供了优秀的图形化软件管理工具,我们绝大多数时间并不需要使用命令行来管理 Snap 软件包,但命令行拥有更强的功能和灵活性,学会如何使用可以帮你更好地掌控系2024-10-18
Flatpak和Snapcraft怎么选? Linux软件包管理系统优缺点对比
Linux 软件的打包和分发方式在过去几年中也取得了长足地进展,本文将探讨 Flatpak 和 Snapcraft 之间的关键差异,它们各自的优/缺点,以期望帮助用户找到更适合自己的一款2024-10-18linux服务器重启命令哪个好用? Linux服务器重启命令汇总
在 Linux 系统中,最严谨的重启命令是 shutdown -r now,该命令直接将系统重启,而不进行任何清理或准备工作,确保系统彻底重启,但也有很多其他命令,详细如下文介绍2024-10-17教你如何在Linux中使用apt命令? Linux APT命令实战教程
apt是一个软件包管理工具,apt命令相当强大,要是在Ubuntu和Debian系统中使用,可以用来对软件进行安装等操作,需要超级管理员(root)权限进行操作2024-09-29apt 和 apt-get有什么区别? Linux包管理解密
为什么 Debian 系 Linux 发行版同时拥有apt和apt-get这两个雷同的命令?他们之间有什么区别?详细请看下文介绍2024-09-29- Linux圈曝出严重远程代码执行RCE漏洞,已存在10多年,几乎影响所有GNU/Linux发行版,目前尚未有修复补丁,不过可以缓解,解决方案如下2024-09-27
- 在Linux系统中,分区管理是非常重要的一项工作,在使用Linux系统的过程中,有时候我们需要删除某个分区来释放存储空间或重新规划硬盘空间,那么,如何在Linux系统上删除分2024-09-14
深度操作系统deepin 25开发计划公布: 2025 年 01 月发布
deepin 25 计划发布时间为 2025 年01 月,此版本的主要目标是修复 deepin 23 中的遗留问题,提升系统稳定性2024-09-14- FDISK是一个用于硬盘分区的工具,特别是在较早的操作系统版本中,如Windows 98和早期的Linux系统中,FDISK是进行硬盘分区的主要工具,这里就为大家分享一下linux系统中使用2024-08-29
黑神话悟空怎么下载安装? 深度操作系统deepin23黑神话悟空安装教程
deepin23系统想要体验《黑神话:悟空》游戏,该怎么下载安装呢?下面我们就来看看详细的图文教程2024-08-22
最新评论