1.Linux命令行快捷键、Vim
1. 命令终端的快捷键使用
ctrl+b 左移光标 ctrl+f 右移光标
ctrl+u 删除光标左边的内容 ctrl+k 删除光标右边的内容
ctrl+w 删除光标前的一个单词 =esc+ctrl+h
ctrl+h =退格建 ctrl+d =delete
ctrl+a 将光标移动到行首 ctrl+e 将光标移动到行末
ctrl+p 上一条命令 ctrl+n 下一条命令
ctrl+c 结束当前输入或进程 ctrl+d 退出当前终端=exit
ctrl+shift+t 新开一个bash alt+1234567890 切换bash
alt+f4 关闭当前窗口
2. vi/vim编辑器的使用
普通模式下的操作:
f+(d) 将光标往右定位到字母d处
F+(d) 将光标往左定位到字母d处
r替换一个字符 R 替换一串字符
ctrl+g 查看当前文件的状态
u撤销 U 撤销整行操作 ctrl+r 取消撤销
ma 做标记,名字为a 跳转回:`a (标记只能用一个字符)
% 匹配括号
删除:
x 删除一个字符
dw 删除一个单词 ndw 删除n个单词
dd 删除一行 ndd 删除n行
d0/d$ 删除当前光标前/后所有字符
dgg/dG 删除当前光标前/后所有行
:g/hello/d 删除整个文本中所有包含hello的行
:v/hello/d 删除整个文本中所有不包含hello的行
:nd 删除第n行
:%s/^.\{n\}// 删除每行前的n个字符
:%s/.\{n\}$// 删除每行后n个字符
复制粘贴:
yy 复制一行 nyy 复制n行
p 粘贴 np 粘贴n行
退出:
ZQ/:q 不保存退出
ZZ/:wq 保存退出
:e! 强制重新打开当前文件
;e filename 重新打开另一个文件
:e! filename 重新打开另一个文件,当前操作不保存
G 最后一行 gg 第一行
:n nG 跳到指定行
H M L 当前页面的顶部 中间 底部
w/W e/E 以单词为单位右移动
0 行首(包括空格) ^行首(不包括空格) $ 行末
进入插入模式:
i 光标前插入 I 行首插入
a 光标后插入 A 行末插入
o 插入新一行(之后) O 插入新一行(之前)
cc/S 删除当前行并进入插入模式 C 删除光标后的字符并进入插入模式 D 仅删除光标后的字符
s/ns 删除1/n个字符并进入插入模式
选择模式:
v:字符选择
V:行选择
ctrl+v:块选择
进入选择模式选择后:u 将字符换成小写 U 将字符换成大写 ~ 大小写互换
块选择后:I+字符+2次ESC 可以在块前统一插入 A+字符+2次ESC 在块后统一插入
选择后, :w filename 将选中的内容写入另一个文件
:r filename 读取文件
:r !ls /etc/passwd读取外部命令
:!command 执行外部命令
:help set 查看set的帮助
替换:
:s/old/new/g 替换光标当前行
:n1,n2 s/old/new/g 替换n1,n2行
:1,$ s/old/new/g 从第一行到最后一行替换
:% s/old/new/g 替换整篇文章
:% s/old/x&x/g 将old替换为xoldx
:% s/^.\{n\}/new/ 每行前n个字符替换为new
:% s/.\{n\}$/new/ 每行结尾n个字符替换为new
搜索:
/hello ?hello /search\c 临时忽略大小写
n 向下查找 N 向上查找
vim配置文件:~/.vimrc
vim分屏 :vsp filename 左右分屏
:sp filename 上下分屏
ctrl+w 然后用hjkl 保存退出所有 :wqa 不保存退出所有 :qa
vim -o/O a.txt b.txt 打开两个文件,并分屏(上下分屏/左右分屏)
vim +30 hello.txt 打开文件后直接到30行
寄存器:
:registers "ayy 创建一个自己的寄存器叫a 使用时 "ap
别名:ab mail renyilisan@163.com unab mail 取消别名
q: 命令历史
去掉所有的空格:%s /^\s\+//g
set paste:vim 进入 paste 模式
set expandtab
:将制表符扩展为空格。set tabstop=4
:设置制表符宽度为4个空格。set shiftwidth=4
:设置自动缩进宽度为4个空格。set softtabstop=4
:设置按下Tab键时插入4个空格。