【工匠大道】一些Vim(Linux)不常见但很逼格的命令(不断更新中)
分享提纲:
普通的vim的移动,编辑等命令就不再赘述。这里主要是记录一些不常见但是很逼格的命令,使你瞬间感到精神为之一振的命令
1. :Tlist
1)该命令是列出当前文件中的类名,变量名和函数名,移动时还会有提示。
2. :colorscheme desert
1)设置vim的界面风格,类似的还有 :colorscheme blue等
3. :set cursorline
1) 设置vim有下划线
4. ma :添加名称为a的标签
1)`a :跳转到 a标签处
2):marks -> 显示系统全部书签 (show all bookmarks)
5. vim -x :
1)加密文件,密码错误看到将是乱码
6. CTRL-] -> 跟着link/tag转入 (follow link/tag)
1)太奇妙了,一堆可以去的地方
7. 折叠
1)[z 到当前打开的折叠的开始处
2)]z 到当前打开的折叠的末尾处
3) zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
4) zk 向上移动到前一折叠的结束处。关闭的折叠也被计入。
8. 向别的用户终端写信息(linux)
2) pkill -kill -t pts/0 踢出别的登录用户(who命令查看)
9. 一些Linux命令
1)alias 显示所有的命令别称
2)env 显示所有的环境变量
3)du -sh dir 文件夹大小, -h 人类可读的单位, -s 只显示摘要
4)kill %job 杀死job任务 (jobs -l)
5)sftp ID@host sftp登录,可以使用 get put等文件传输的命令( lcd # 在本地主机更改当前路径)
6) :sh 从vim进入到 shell界面, exit 则返回到 vim界面
10. 可视模式
标记文本
v 进入可视模式,单字符模式
V 进入可视模式,行模式
ctrl+v 进入可视模式,列模式,类似于UE的列模式
o 跳转光标到选中块的另一个端点
U 将选中块中的内容转成大写
O 跳转光标到块的另一个端点
aw 选中一个字
ab 选中括号中的所有内容,包括括号本身
aB 选中{}括号中的所有内容
ib 选中括号中的内容,不含括号
iB 选中{}中的内容,不含{}
11. 宏录制
宏录制: qa
操作序列 q
, @a
, @@
qa
把你的操作记录在寄存器a。
- 于是
@a
会replay被录制的宏。 @@
是一个快捷键用来replay最新录制的宏。
示例
在一个只有一行且这一行只有“1”的文本中,键入如下命令:
qaYp<C-a>q
→
qa
开始录制Yp
复制行.<C-a>
增加1.q
停止录制.@a
→ 在1下面写下 2@@
→ 在2 正面写下3- 现在做
100@@
会创建新的100行,并把数据增加到 103.
12. 目录操作
1):E 或者 :Sex 都可以查看当前的目录内文件, 也可以跟着 要打开的目录,参考
2):ls 打开缓冲区 :buffer 4 打开某一个缓冲文件 \be 也可以
3):He :Ve 分屏并查看目录
4):Te 分tab页(gt gT :tabs :q)
13. 移动类
1)zz 将光标所在行变成屏幕中间
2):ju -> 显示所有的可以跳跃的地方 (print jump list)
14. 文件对比
1)【colordiff】svn diff时带颜色对比 -- colordiff :
a)安装colordiff
sudo yum install colordiff
b)修改配置
vim ~/.subversion/config
在# diff-cmd下添加如下代码
diff-cmd = colordiff c)修改颜色:
sudo vim /etc/colordiffrc
-newtext=darkblue
+newtext=darkgreen
=================
-diffstuff=darkgreen
+diffstuff=darkblue
:ab asap as soon as possible
//会把你输入的 “asap” 替换为 “as soon as possible”
4)【在你忘记用 root 方式打开文件时的文件保存】
:w !sudo tee %
这会直接以 root 方式保存。
5)【实时加密】
可视模式选中字符,g? 使用 ROT13 对整个区域进行编码。
使用 u 回退还原
6)【自动补全】
ctrl + m
7) 【比较两个文件的不同】
除了 vimdiff 还有 :diffthis
具体如下:
:diffthis )首先在 Vim 中打开原始文件。然后使用分离模式带来第二个文件: :vsp [文件2] )最后在第一个缓冲区里输入:
:diffthis )通过 Ctrl+w 来切换缓冲区并再次输入:
:diffthis )这样两个文件中不同的部分就会被高亮。 (译者注:可以直接在一个缓冲区里使用命令 :windo diffthis,而不用输入 :diffthis 两次) 要停止比较,使用:
:diffoff
8) 【按时间回退文件】
:earlier 1m 回到1分钟之前
:later 相反的操作
9)【删除标记内部的文字】
di[标记]
-- di( 删除括号里的文字
--di{ 删除大括号里的文字
--di' 删除单引号里的文字
10)【把当前文件转化为网页】
:%TOhtml
转化成的 html网页显示的代码,看着跟 shell界面似的,很爽!
11) less filename
一个1G的文件可以秒开,G到文件末尾,比用vim快
16.插件类
1)【php-doc.vim】
- 下载php-doc.vim(http://www.vim.org/scripts/script.php?script_id=956);
- 放到相应的vim_rt/plugin目录下;
- 把下面的代码放到vim的配置文件里(vim_rt/_vimrc):
inoremap <C-P> <ESC>:call PhpDocSingle()<CR>i nnoremap <C-P> :call PhpDocSingle()<CR> vnoremap <C-P> :call PhpDocRange()<CR> |
现在,你就可以把光标放在方法或者类名上,然后control + p 就可以自动生成注释格式了。
附录:1. 强大的vim配置文件,让编程更随意
2. vim 常用快捷键 二
3. vim 参考手册
4. 每天一个linux命令目录 - peida - 博客园 http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html
5. 【好】简明 Vim 练级攻略 | 酷 壳 - CoolShell.cn http://coolshell.cn/articles/5426.html
6. 无插件Vim编程技巧 | 酷 壳 - CoolShell.cn http://coolshell.cn/articles/11312.html
7. VIM英文注解图
8. vim操作全面讲解 - Barret Lee - 博客园
10.(好好) 一些不起眼但非常有用的 Vim 命令 - 文章 - 伯乐在线
【工匠大道】一些Vim(Linux)不常见但很逼格的命令(不断更新中)的更多相关文章
- Linux系统常见的压缩与打包命令
常见的压缩文件扩展名 1.*.Z compress程序压缩的文件 2.*.gz gzip程序压缩的文件 3..bz2 bzip2程序压缩的文件 4..t ...
- Linux 系统化学习系列文章总目录(持续更新中)
本页内容都是本人系统化学习Linux 时整理出来的.这些文章中,绝大多数命令类内容都是翻译.整理man或info文档总结出来的,所以相对都比较完整. 本人的写作方式.风格也可能会让朋友一看就恶心到直接 ...
- linux上常见的压缩解压缩的命令
压缩 tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.ta ...
- linux下vim常用命令 (更新中...)
1.注释多行 1). 首先按esc进入命令行模式下,按下Ctrl + v,进入VISUAL BLOCK模式; 2). 在行首使用上下键选择需要注释的多行; 3). 按下键盘(大写)“I”键,进入插入模 ...
- linux非常用但很有用的命令
查找指定目录下包含指定字符串的所有文件 grep -rl 'abc' / top查看命令的完整启动路径 top 按c top以MB为单位显示内存信息 top -M 查看内存top io趋势 pidst ...
- linux不常用但很有用的命令(持续完善)
Linux登录后设置提示信息: /etc/issue 本地端登录前显示信息文件 /etc/issue.net 网络端登录前显示信息文件 /etc/motd 登陆后显示信息文件 可以添加以下几个常用选项 ...
- Android开发面试经——6.常见面试官提问Android题②(更新中...)
版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客:http://blog.csdn.net/fi ...
- Linux 基础命令 持续更新中...
1.ls 显示当前文件/文件夹 显示文件大小: ls -lh 显示隐藏文件: ls -a 显示文件详细信息: ls -l (ll)2.pwd 显示当前所在路径 cat 显示当前文件下所有内容3.cd ...
- linux嵌入式大神的博客文章---持续更新中
linux kernel子系统相关博客:http://www.wowotech.net/ 经典博文: http://blog.csdn.net/zqixiao_09 http://blog.china ...
随机推荐
- 搞懂 SynchronizationContext(第一部分)【翻译】
SynchronizationContext -MSDN 很让人失望 我不知道为什么,目前在.Net下关于这个类只有很少的资料.MSDN文档也只有很少的关于如何使用SynchronizationCon ...
- Spring4.X——搭建
一,Spring概念总结 spring是一个集成了许多第三方框架的大杂烩,其核心技术是IOC(控制反转,也称依赖注入)和AOP(面向切面编程),所以spring既是一个IOC容器,也是一个AOP框架. ...
- 大叔也学Xamarin系列
回到占占推荐博客索引 我就是我,请叫我仓储大叔 大叔听很多客户说,xamarin的资料网上太少了,是的,大叔也相信,因为大叔在学xamarin里确实很费劲,只能看看androd for java了,呵 ...
- hibernate注解方法使用总结(转)
原博文地址:http://blog.sina.com.cn/s/blog_935ebb670101dnre.html 1.类级别注解 @Entity 映射实体类 @Table 映射数据库 ...
- Cookie与Session
再说Cookie与Session之前,先要了解一下http协议. 何为http协议: http协议即超文本传输协议,一种基于浏览器请求与服务器响应的协议,该协议主要的特点就是它是一种无状态的协议(只针 ...
- BCP 数据的导入和导出
BCP 命令的参数很多,使用 -h 查看帮助信息,注意:参数是区分大小写的 使用BCP命令导出和导入数据常用的参数如下 bcp {[[database_name.][schema_name]].{ta ...
- Go 作用
Go语句的作用是表示一个batch(多条Tsql命令)的结束,并向sql server 提交batch,由于局部变量的作用域是基于batch的,所以,go语句限制局部变量的作用域在一个batch中. ...
- OpenCascade Eigenvalues and Eigenvectors of Square Matrix
OpenCascade Eigenvalues and Eigenvectors of Square Matrix eryar@163.com Abstract. OpenCascade use th ...
- js中用tagname和id获取元素的3种方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- FragmentPagerAdapter+ViewPager实现Tab切换效果
1.Activity 加载布局文件,获取Viewpager控件 给ViewPager填充适配器. import android.app.ActionBar; import android.app ...