vim三种模式常用命令
一般模式:
这是默认的模式。在这个模式中, 你可以使用上下左右按键来移动光标,你可以使用删除字符或删除整行来处理文件内容, 也可以使用复制、粘贴来处理你的文件数据。
【dd】 删除光标所在行
【ndd】 删除光标所在的向下n行
【w】光标跳到下个字的开头
【e】光标跳到下个字的字尾
【yy】 复制光标所在的那一行
【nyy】 复制光标所在的向下n列
【p】在光标下一行粘贴上
【P】 则为贴在光标的上一行
【u】 恢复前一个操作
【.】 是重复前一个操作
一般模式:
按下【i, I, o, O, a, A, r, R】等任何一个字母之后才会进入编辑模式。这时候屏幕的左下方会出现【INSERT或 REPLACE】的字样,此时才可以进行编辑。如果要退出此模式,按下ESC.
【i, I】 进入编辑模式:
i 为【从目前光标所在处插入】
I 为【在目前所在行的第一个非空格符处开始插入】
【a, A】 进入编辑模式(Insert mode):
a 为【从目前光标所在的下一个字符处开始插入】
A 为【从光标所在行的最后一个字符处开始插入】
【o, O】 进入编辑模式:
o 为【在目前光标所在的下一行处插入新的一行】
O 为在目前光标所在处的上一行插入新的一行
【r, R】 进入取代模式:
r 只会取代光标所在的那一个字符一次
R会一直取代光标所在的文字,直到按下 ESC 为止;
命令行模式:
【:w】 保存编辑的内容
【:w!】强制写入该文件,但跟你对该文件的权限有关
【:q】 离开vi
【:q!】 不想保存修改强制离开
【:wq】 保存后离开
【:x】 保存后离开
【ZZ】 若文件没有更动,则不保存离开,若文件已经被更改过,则保存后离开
【:set nu】 显示行号
【:set nonu】 与 set nu 相反,为取消行
【:r filename】 在编辑的数据中,读入另一个文件的数据。即将【filename】 这个文件的内容加到光标所在行后面。
【:keyword】keyword代表关键字,即搜索关键字。
linux中的命令中的外部命令
内部命令实际上是shell程序的一部分,其中包含的是一些比较简单的linux系统命令。内部命令是写在bashy源码里面的,比如:exit,history,cd,echo
外部命令:外部命令是在bash之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin......等等。存放在一个文件中,使用时需要去文件中查找,这些文件被定义在$PATH
echo、pwd是外部命令也是内部命令
可以利用type命令来了解某个命令是否是内建的:
localhost:~ dong$ type echo
echo is a shell builtin
表明echo在shell内
如何查看是否是外部命令,我们可以用which,which命令只显示外部命令的文件
所以 ls,cat,touch ,rm,which,tee,pwd,cd,su,ping(软链接),passwd,dhclient,ip,hostname,hostnamectl,date,timedatectl,ssh,vim,clock(软链接),hwclock,reboot(软链接),shutdown(软链接),cal,kill,echo,exit是外部命令的可执行文件,其实质都是普通文件。
ifconfig命令为外部命令在文件/usr/sbin/ifconfig中。