搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
花生_TL007
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
AI 时代,程序员无需焦虑 | 《服务端开发:技术、方法与实用解决方案》_服务端开发:技术,方法与实用解决方案
2
输入hadoop version时,解决Cannot execute /home/hadoop/libexec/hadoop-config.sh.的方法_cannot execute hadoop
3
【云原生技术】当中台遇上 DDD,我们该如何设计微服务_ddd 中台
4
PieCloudDB Database 3.0 正式发布丨数仓虚拟化技术为数据要素流转注入创新动能
5
Laravel与Element-plus开发(一、Laravel安装)_laravel element plus
6
一文读懂Uniapp的setStorage、setStorageSync、getStorage以及getStorageSync(附Demo)_uni.setstorage
7
VMware:虚拟机(xp)与主机(win10)连接步骤(超详细)_windowsxp虚拟机网络桥接到主机
8
mac vs code 配置cpp环境并运行
9
python中os.environ的用法_python os.environ
10
UDP服务器广播+实现跨网段通讯_udp广播发送不在同一个网段中
当前位置:
article
> 正文
Linux_vim常用命令总结_linux和vim的命令总结
作者:花生_TL007 | 2024-05-30 21:29:15
赞
踩
linux和vim的命令总结
开篇废话
vim乃Linux下相当牛掰一文本处理神器也,是vi编辑器的升级版,全称叫Vi IMproved。而vi则是Visual Interface的缩写,他们处理都是ASCII码字符数据,熟练使用vim绝对是你成为Linux大牛不可或缺的本领,所谓千里之行,始于足下。
我这里写的比较啰嗦,但都是非常常用的用法;当然如果你不想上网查,vim自带的帮助文档也有的查,直接输入vim然后回车,会进入vim编辑器,此时输入:help就可以进入帮助文档,输入 :help command 还可以查处子命令的用法, 例如我想查看 d 这个命令的作用和用法,直接:help d就可以啦,授人以鱼不如以渔嘛。
下面就本人学习过程中一些非常常用到的比较实用的用法做一下总结。
vim有三种模式: 编辑模式,输入模式,末行模式。
编辑模式
也叫命令模式,用vim打开文件后默认进入的就是此模式,在此模式下,可以组合使用vim的一些命令,完成对文件的快捷操作。
字符移动操作
h, j, k, l 四个键分别对应 左,下, 上, 右 操作, 这个左右比较好理解,h在左边,l在右边,j, k在中间表上下,但是我们正常惯用右手的人就有点不好理解,反正我是这样感觉的,正常按我的思维左边的表示上,右边就下了,比较顺手,所以我推测开发vi的人估计是个左撇赖子,很多有成就的牛逼的人都是左撇赖子,爱因斯坦。。。所以没事开发一下右脑也是有好处滴, 关于这个有个助记的方法,就是j代表japan小日本鬼子,k代表korea棒子,在地图上棒子在鬼子的上面,所以k是向上的箭头,j是向下的箭头,当然了不管是什么方法只要能帮助记忆就中,黑猫白猫嘛。
单词移动操作
w word 向后移动一个单词,光标定位在词首
e end of a word 向后移动一个单词,光标定位在词尾
b backword 意思是向前移动一个单词
句子跳转
) 跳到下一句
( 跳到上一句
段落间跳转
} 下一段
{ 上一段
句子间跳转和段落跳转不太常用,配置文件等的句子段落划分可能跟我们想的会有不同啦。
行间跳转
1G / gg 跳转至第一行
G 跳转至最后一行
#G #为正整数,跳转至第#行
行内跳转
^ (shift + 6) 跳至行首(行首第一个非空字符),这个托字符在Linux中也是个神一样的存在,你会经常和打打交道
0 对,就是数字0,光标跳至绝对行首(真正的行首)
$ 这个美元可以跳到行尾,和^一样也是一个神一样的存在,各个地方你都会看到她的倩影
跳转进阶用法
上面的这些个移动都是一个一个的移动的,如果要移动的位数比较多,恰好又不在行首或行尾,一个一个点,岂不是很麻烦?莫怕,作者早为你想到了,比如我想一下向上移动6个字符,按下6h,效果刷刷的,想一下向后跳8个词?按下8w,你懂的,那好吧不哆嗦,以此类推…… 3e, 4b, 5j, 7k, 9) …… 自己好好玩去吧,记住他并在使用的时候经常的想起他并经常的使用他,一般人我可不告诉他。当你基本脱离上下左右箭头的时候,你基本也就离大牛不远啦。
输入模式
要从命令模式进入输入模式,方法有很多,根据需要来使用,注意看我后面标出的字母缩写
i insert 在当前光标之前插入
a append 在当前光标之后插入
I 大写在行首插入
A 大写在行尾插入
o 在当前光标所在行的下面一行插入
I 在当前光标所在行的上面一行插入
在任何模式下按下ESC键可以退出当前模式,回到命令模式,已经是命令模式的则还在命令模式。
编辑是可以了,复制呢,答案是肯定的,首先确定回到命令模式
按下yy y是yanK的缩写,整行内容就被复制到剪切板中了,然后把光标移动到你想的位置按下p刚把刚才复制的那行粘贴到你光标所在行的下面一行,P大写则粘贴至上面一行,p是paste的缩写是也; 剪切的话dd是也,当前行的内容删除而后会放在剪切板中,粘贴方法相同。
再有一个比较高端的用法可以在命令模式下按下v(按字符选取)或者V(按行选取), 此时会进入可视化模式,移动你的光标哈哈,就像在windows下拖动你的鼠标一样,然后复制剪切随便你啦。
还有个值得提一下的用法,就是如果想翻屏的话,可以用
ctrl + f (forward) 向后翻一屏
ctrl + b (backword) 向前翻一屏
ctrl + d (down) 向后翻半屏
ctrl + u (down) 向前翻半屏
实用命令 d delete 删除命令,可以和其他命令组合删除词,字符,行,等
例如dh向左删除当前字符,dl向右删除当前字符,dj删除当前行和下面一行,dk删除当前行下上面一行,dw删除向后一个单词,de, db …
当然你还可以用 d1h, d2l, d#w, d#b(#用你需要的正整数代替) … 如果需要重复之前的操作,只需按下"."即可,需要重复多次就按下多次"."和d稍微不同的还有一个命令c,这个命令是哪个单词缩写,我也不知道,用法和d用法类似,不同的是删除之后直接会进入insert编辑模式,相当于d执行后又按下i常用命令大概这么多了。
还有个比较实用的用法:窗口的拆分。
当你编辑一个文档而又需要参照此文档其他章节的内容又不想再打开一个文档的时候就派上用场了, 这个功能类似于word里的窗口拆分,在word2007中,点 “视图” 菜单 –> “拆分“即可。在编辑文档的时候还是非常有用的。
在vim下,按下ctrl + w 然后按s,(split 缩写)则可以实现水平拆分,按下 v (vertical 缩写)则可实现垂直拆分,具体效果说是说不清楚的,自己体验一下吧。需要两个窗口切换则先按下ctrl + w 然后按相应的上下左右→即可。
需要退出的话:
q 退出当前
:qall 退出所有
:!qall 强制退出所有(这是末行模式命令下面会提到)
还有一个打开文档的技巧,vim + /path/to/file (相对或绝对路径定位到你要打开的文件) 直接打开到最后一行, vim +# /path/to/file 打开在第#行,又想起来一个命令的撤消: 保证你在命令模式下,按一下u则可以撤消一步操作,按多次撤消多步操作,vim默认可以保存50次,这个值可以通过编辑/etc/vimrc 中 set history=50那一行的值改变,如果手贱撤消多了也8怕,按ctrl + r (restore) 可以恢复你的撤消, 按大写的U可以撤消所有操作。
末行模式
末行模式下的功能更加强劲,在命令模式下按下冒号:可以进入末行模式,:w 保存编辑内容,write , :q 退出quit :wq 保存并退出 前面加!表示强制 :!q强制退出,:x = :wq。
搜索功能
:/text (text为你要查找的字符串) 向后查找
:?text 向前查找, 查找到的内容会高亮显示
按n(next)会和你查找的方向相同找下一个,按大写N则向相反方向查找下一个
窗口属性定义
set ai | autoindent 开启自动缩进(写脚本时就老开心啦,写出来那叫一个漂亮)
set nu (number) 显示行号
set nonu (no number) 取消显示行号
set ic | ignorecase 忽略大小写
set hlsearch (highlight search) 搜索高亮显示
set sm| showmatch 不要想歪了,显示匹配的括号
所有的设置前面加个no就可以取消显示了,当然你的设置只对当前编辑的文档生效,如果想永久生效可以写入/etc/vimrc配置文件 或~/.vimrc文件,~代表家目录
好了,下面上一盘压轴大菜:查找和替换,这个东西以后编辑配置文件老有用啦,我来举个例子,有图有真相:
LOOK 1:原文如下,现在我要把所有的zhishen 后面都加上一个must
输入如下命令
:%s/
\(
shen
\)
/\1 must/g
解释一下这行命令,: 进入末行模式,% 代表全局查找,s (search)查找命令,红色标出的一对括号,\ 表示转义,即使用括号原来的意思,因为括号在Linux下有其特有的功能的,后面的\1代表引用前面括号内的内容,g (global)表示全局,当然后面还可以加i (ignore case)忽略大小写,如果有需要的话,/ 是每个字段之间的分隔符,为了方便区分,某些情况下你可以替换成# 或 @
都可以。
当然像这种简单的正则表达式,只有一个引用内容的括号可以省略不写,引用也可以直接用一个简单的&来解决,于是上面的命令也可以这样写:
:%s/shen/& must/g 效果是一样的 或者
:%s#shen#& must#g
效果如下:
LOOK 2:这里我以apache的配置文件httpd.conf为例,比如从102行到109行的配置我不想启用了现在,我就可以在每一行前面加个#注释掉即可
:.,109s/^/#/g 这里我把光标移动到102行,前面的.代表当前行,整个表示从当前行到第109行所有开头都用#替换,也可以这样写 :102,109s/^/#/g 或者 :.,+7s/^/#/g 再或者:102,+7s/^/#/g 都是一样的效果。
LOOK 3:这个情景我想把102行到109行移动到93行的下面
:102,109d 回车,代表删除102到109行,但是这里的删除是先放到剪切板中的,所以下面的你懂啦,把光标移动94行,按下一个大写的P,哈哈就全部粘贴过来啦。
就写这么多了吧,这些都是可能经常能用到的功能。vim的功能非常之强大,首先把为些常用的基础的学会吧,再稍微高级一点的常用功能可以看一下我的另一篇博文《
VIM命令大全
》,自己结合说明慢慢摸索,基本这些差不多够平常工作用了。
来源:
http://os.51cto.com/art/201312/422597.htm
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/花生_TL007/article/detail/648681
推荐阅读
article
【
Linux
】
文件
打包
解压_
tar
_zip_
打包
文件
linux
...
文件
打包
压缩是将多个
文件
或目录合并成一个
文件
,并通过压缩算法减小其大小的过程。这一过程有助于
文件
的整理、存储空间的节省以...
赞
踩
article
Linux
:
iptables
防火墙
部署优化之
连接
转移
(
目的地
地址
转化)...
【代码】
Linux
:
iptables
防火墙
部署优化之
连接
转移
(
目的地
地址
转化)
Linux
:
iptables
防火墙
部署优化...
赞
踩
article
【
Xshell
】
Xshell
连接
Linux
服务器
教程...
【
Xshell
】
Xshell
连接
Linux
服务器
教程【
Xshell
】
Xshell
连接
Linux
服务器
教程 ...
赞
踩
article
Oracle
Linux
8.9 安装
Python
3.12
.2 和
Miniconda
_mini...
Oracle
Linux
8.9 安装
Python
3.12
.2 和
Miniconda
_
miniconda
pyth...
赞
踩
article
【
Linux
】
查看
GPU
状态和关闭指定的
GPU
进程
_
linux
查看
各个应用占用
gpu
的情况...
。_
linux
查看
各个应用占用
gpu
的情况
linux
查看
各个应用占用
gpu
的情况 ...
赞
踩
article
Linux
虚拟化技术 (
Centos
7
安装
VNC
远程服务)_
centos
7
安装
vnc
...
centos
7
安装
部署
VNC
远程服务_
centos
7
安装
vnc
centos
7
安装
vnc
Cent...
赞
踩
article
linux
ssh
进程
未
释放
,
SSH
断开
后
进程
仍然
在
后
台
运
...
-
linux
无法登录-根分区空间使...
SSH
断开
后
进程
仍然
在
后
台
运行的实现方法,供大家学习参考。Unix/Linux下一般想让某个程序
在
后
台
运行,很多都是使...
赞
踩
article
【
linux
安装
zookeeper
】_
linux
3.8
zk
安装
...
linux
安装
zookeeper
1、下载
zookeeper
安装
包2、上传
zookeeper
的
安装
包到Linux 服...
赞
踩
article
通过
16
个案例彻底掌握
Linux
Echo
命令
_
linux
echo
命令
...
echo
命令
是日常
linux
任务中使用最广泛的
命令
之一。
echo
命令
是一个内置的
命令
行工具,它将文本或字符串打印...
赞
踩
article
【
Linux
:详述
echo
命令
万能
展开
】_
linux
echo
查看
目录
...
【
Linux
:详述
echo
命令
万能
展开
】_
linux
echo
查看
目录
linux
echo
查看
目录
...
赞
踩
article
Linux
Echo
命令
和用法示例...
Echo
is popular command comes with all of the
Linux
distribu...
赞
踩
article
Linux
学习之基本
命令
_
ls
以
竖排
显示
...
Linux
的基本
命令
_
ls
以
竖排
显示
ls
以
竖排
显示
一、
Linux
系统目录 &nbs...
赞
踩
article
Linux
安装及常见
命令
大全_
linux
安装
常用
命令
...
删除 ~/Desktop/demo/b/c/01.py ,并且使用 tree 来确认 demo 目录下的三个链接文件文件...
赞
踩
article
【
Linux
】
echo
命令
用法
详解...
echo
命令
是脚本语言中的常用
命令
,作用相当于C语言里面的printf。在shell中,可以打印变量的值,或者输出指定的...
赞
踩
article
【
Linux
】一文详细
介绍
echo
命令
_
linux
echo
...
linux
echo
【
Linux
】一文详细
介绍
echo
命令
...
赞
踩
article
linux
下
nginx
安装
echo
扩展
模块
_
ubuntu
安装
nginx
中
echo
模块
...
nginx
在
linux
(
ubuntu
16.0.4) 安装扩展
echo
模块
echo
模块
可以将
nginx
变量的信息输...
赞
踩
article
linux
<
e
m>
e
cho
e
m> -
e
脚本
安装
,Sh
e
ll
脚本
实现自动
安装
<
e
m>zook
e
e
p
e
r
e
m>...
A:本
脚本
运行的机器,Linux RHEL6B,C,D,...:待
安装
<
e
m>zook
e
e
p
e
r
e
m> clust
e
r的机器, Lin...
赞
踩
article
linux
ping
https
是否连接...
在Linux系统中,ping通常用于测试网络上另一台主机的可达性。它使用的是ICMP协议,这是一种设计用来处理网络通信问...
赞
踩
article
linux
网络
流量
走高
,
linux
-
流量
异常
高怎么处理...
这里就简单说说这个
流量
跑高。首先我从cacti 中监控到了一台放在机房的服务器
流量
异常
,何为
异常
这里说一下:本身这台服务...
赞
踩
article
linux
Hadoop
安装
目录
,Linux中
安装
配置
hadoop
集群详细步骤...
一. 简介参考了网上许多教程,最终把
hadoop
在ubuntu14.04中
安装
配置
成功。下面就把详细的
安装
步骤叙述一下。...
赞
踩
相关标签
Linux
服务器
linux
网络
运维
Xshell
python
centos
linux ssh进程未释放
zookeeper
分布式
bash
shell
php