提高 Vim 和 Shell 效率的 9 个建议

原创 2015年07月07日 09:55:03

1. 重映射 CAPSLOCK 键

你上一次使用 CAPSLOCK 键是什么时候?很久没有了对不对?噢,我也是,它已经被遗忘了,它浪费了键盘上一个黄金位置。让我们把它重映射成 Control 键来发挥它的作用吧!这里告诉了你在不同的操作系统上的具体操作。

现在你可以保持标准键位手势,随意的敲击到 a键左边的 crtl 了。

 

2. 使用 ctrl-r 来搜索和自动重做历史命令

许多人都知道可以使用箭头键来都调用上一个历史命令,但相对的,很少有人知道可以使用 ctrl-r来迅速完成历史命令的调用。

一旦找到相应的命令,可以通过回车来执行,或者在执行前对命令进行修改,这很容易会养成习惯,特别是在你把 CAPSLOCK 键重映射以后。

 

3. 使用 OS X 系统的 iTerm

iTerm不是必须要用的高效工具,但绝对能提升效率。它有如下特性:

屏幕分割

选中即复制

剪切历史

全屏切换

系统热键

Exposé 所有Tab

保存当前快照

我还不知道有哪个人换到 iTerm 以后还愿意换回来的。上吧。

 

4. 把 Zsh 作为 Shell

大部分人会像我以前一样是用 Bash 的人,看了 Zsh 的优点之后,绝大多数人就会对它赞不绝口并且再也不愿意用 Bash 了。它的特性如下:

目录补全:ve/pl/re --> vendor/plugins/redmine

环境变量展开:$PATH --> /your/full/path

智能修正:/pbulic/html 变 /public/html

拼写修正

命令历史共享

行编辑高亮模式

完美兼容 Bash 大部分配置

运行/bin/sh的时候可以媲美Bash

支持vim模式

OhMyZsh支持

最后一条是决定性的,ohmyzsh包含大量插件(包括 rails、git、OS X、brew 等等),有超过80个终端主题和自动更新。ohmyzsh通过这些来让 shell 用起来很爽。更详细请查看这里。

 

5. 重映射 vim 的 ESCAPE 键

vim有多个模式并不是什么大问题,但在模式间切换的时候会感觉很糟。ESC 键有点远,这太麻烦了。当我面对新的 vim 环境时,所做的第一件事就是添加如下映射

inoremapjj <ESC>

 

6. 重映射 Vim 的 Leader 键

如果你不熟悉 leader 键,也不知道它能为你做什么,那你就从这开始了解吧。它本质上是作为你快捷键的激活键,你可以自定义用哪个键作为你的 leader 键。所以,你可以:

nnoremapj VipJ

这可以让你按下 leader 键结合大写 ‘j’ 后可视化的选择整段并加入行。

我个人用‘,’ 键作为我的leader键,这样我可以用 ‘,’ 激活我所有的快捷键,然后通过 ‘jj’ 退出插入模式。你可以在 .vimrc中像这样映射:

letmapleader = ","

 

7. 在 Shell 中使用 vi 模式

无论是 zsh 还是 bash 你都会想尽可能的使用同样的肌肉记忆,如果你是 vim 用户,这意味着你应该把你的 shell 从 Emacs模式(默认)切换到 vi 模式

这意味着你可以用 vim 的方式编辑你的 shell 命令行:

b返回上一个单词

dd删除整行

0,$移动到行末

…等等。

你可以通过添加下面这行代码到 .zshrc 或 .bashrc 文件来实现这一切:

bindkey-v

你也可以像 vim 一样映射你的 escape 键:

bindkey-M viins ‘jj’ vi-cmd-mode

另一个好处是可以通过j、k来自然的浏览历史记录。还可以在你的.zshrc文件中通过下面的代码添加ctrl-r的功能:

bindkey‘^R’ history-incremental-search-backward

 

8. 把tmux加入工作流程

tmux是一个终端复用器,它允许你连接和管理多个服务器端会话。在tmux中可以启动并连接对话,还可以断开,然后在不同的时间地点再次连接。

你也许熟悉类似的解决方案,GNU Screen,但比起 screen,tmux 有如下优势:

screen是一个又大又重的项目,并且它的编码中有许多问题

tmux是一个轻便的项目,有现代的、高效的代码库

tmux是一个完整的客户端服务器项目,而 screen 是屏幕仿真软件

tmux支持 vim 和 emacs 的键盘布局

tmux支持运行时自动重命名窗口

tmux能很方便的通过 shell 实现脚本化

tmux自带垂直分屏功能,而 screen 里屏幕被固定死了

如果你用不上终端复用功能,也可以是尝试一下 tmux,你会获益的。[ 更新: 这有 tumx 的最全启蒙书。]

 

9. 同步工作环境

好了,在你的 MBP 能体验到酷炫的 shell 和vim 了,但一旦你都 SSH 到你的 Linux 上,就会感觉完全不同,这太令人恼火了。还好,可以通过同步来处理这个问题。

在 git 上为你的配置文件创建一个仓库,例如:Bash、Zsh、Vim 等等。记得保持更新。

在你所用的每个系统上都克隆一份(配置文件)到对应系统的目录下。

有评论说也可以用 Dropbox 来同步,似乎很棒,但我不确定在 Headless(Headless指没有显示器、键盘、鼠标等设备)的 Linux 服务器上工作效果如何。

免费领取兄弟连IT教育原创linux运维工程师视频/细说linux教程,详情咨询官网客服:http://www.lampbrother.net/linux/

学PHP、Linux、HTML5、UI、Android等视频教程(课件+笔记+视频)!联系Q2430675018

参加活动领取兄弟连原创视频教程光盘合集:http://www.lampbrother.net/newcd.html

提高 Vim 和 Shell 效率的 9 个建议

1. 重映射 CAPSLOCK 键 你上一次使用 CAPSLOCK 键是什么时候?很久没有了对不对?噢,我也是,它已经被遗忘了,它浪费了键盘上一个黄金位置。让我们把它重映射成 Control 键...
  • lmmilove
  • lmmilove
  • 2015年07月03日 16:30
  • 875

提高 Vim 和 Shell 效率的 9 个建议

提高 Vim 和 Shell 效率的 9 个建议转: http://begeek.cn/post/6386.html 映射CAPSLOCK键为Ctrl 你上一次使用 CAPSLOCK 键是什么时候?很...
  • liuhhaiffeng
  • liuhhaiffeng
  • 2016年08月05日 23:07
  • 214

Linux学习总结(15)——提高 Vim 和 Shell 效率的 9 个建议

你上一次使用 CAPSLOCK 键是什么时候?很久没有了对不对?噢,我也是,它已经被遗忘了,它浪费了键盘上一个黄金位置。让我们把它重映射成 Control 键来发挥它的作用吧!这里告诉了你在不同的操作...
  • u012562943
  • u012562943
  • 2016年08月08日 10:31
  • 1827

提高 Vim 使用效率的 12 个技巧

提高 Vim 使用效率的 12 个技巧 - 文章 - 伯乐在线  http://blog.jobbole.com/87481/ 首页 最新文章 ...
  • guyue35
  • guyue35
  • 2017年01月11日 02:34
  • 244

MaxCompute助力ofo实现精细化运营:日订单超3200万、整体运行效率提升76%

原文链接:点击打开链接 摘要: 摘要:ofo小黄车大数据BI系统负责人龙利民为大家分享了ofo的上云体验,重点分享了MaxCompute的应用实践,最后对阿里云提出了自己的建议需求。 关于o...
  • qq_40954115
  • qq_40954115
  • 2017年12月01日 14:53
  • 195

VIM和shell的切换

本章深入讨论如何让其它程序跟 Vim 混用。或者从 Vim 内部执行别的程序,或者暂时先 离开 Vim 而于执行了那个程序后再回来。而且,本章将进一步介绍如何记住 Vim 的当前0 状态,并在以后把它...
  • u014703817
  • u014703817
  • 2015年05月15日 10:28
  • 1655

2015-6-2-提高你的Vim效率

译自http://sheerun.net/2014/03/21/how-to-boost-your-vim-productivity/ 转载请注明出处 注:以下操作均在 _vimrc文件中 ...
  • hjhjw1991
  • hjhjw1991
  • 2015年06月02日 10:55
  • 1651

Linux下如何用vim编写C程序的9×9乘法表

上一推文告诉了大家怎么用文本编写C程序,然后在终端下面用gcc编译C程序。今天教给大家用终端vim来进行C程序的编写,vim是在Lnux下最常用的一种,大家要掌握。大家可以关注我的公众号,我也是学计算...
  • Einsli
  • Einsli
  • 2017年12月29日 17:05
  • 117

Vim编辑器与Shell脚本

《Linux就该这么学》学习笔记
  • Wee_Mita
  • Wee_Mita
  • 2016年10月03日 17:21
  • 750

Linux Shell脚本与Vim常用操作笔记

本篇笔记记录最最基本的vim和shell操作。   ShellScript能干什么 Shellscript类似与Windows的批处理,可以把很多指令汇总到一起,于是可以很容易地通过一个操作执行多个命...
  • u012428391
  • u012428391
  • 2014年08月18日 19:39
  • 2756
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:提高 Vim 和 Shell 效率的 9 个建议
举报原因:
原因补充:

(最多只允许输入30个字)