`
marlonyao
  • 浏览: 253231 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Bash下Vi输入模式重设Ctrl-N, Ctrl-P, Ctrl-L等快捷键

    博客分类:
  • Bash
阅读更多
Bash下默认使用Emacs快捷键绑定,但我对Emacs并不熟,对vim要熟悉得多,所以我将Bash的输入模式换式换成了vi。但在vi模式下,我原先所使用的许多快捷键,例如Ctrl-L, Ctrl-N, Ctrl-P, Ctrl-A, Ctrl-E都失效了。幸好,Bash使用readline,借助readline的可扩展性,我们可以将这些键重新映射到它们的原来的功能。

设置方法是先临时将输入模式切换回Emacs,使用命令:
set -o emacs

然后使用:
bind -p

查看键的映射,可以grep一下,例如查看原来Ctrl-N是怎么映射的,使用命令:
bind -p | grep '\\C-n'

直接将输出内容拷贝到~/.inputrc中就可以了。

我的.inputrc文件内容:
set editing-mode vi
set show-all-if-ambiguous on
set completion-ignore-case on
set meta-flag on
set convert-meta off
set output-meta on
set bell-style visible

"\C-l": clear-screen
"\C-n": next-history
"\C-p": previous-history
"\C-a": beginning-of-line
"\C-e": end-of-line
"\C-f": forward-char
"\C-b": backward-char

分享到:
评论

相关推荐

    bash-vi-editing-mode-cheat-sheet

    bash-vi-editing-mode-cheat-sheet Readline VI Editing Mode Cheat Sheet Default Keyboard Shortcuts for Bash

    60-Linux-Bash-Terminal-Keyboard-Shortcuts-1.pdf

    4. Ctrl + N / Down Arrow - 显示下一个命令行。 5. Ctrl + P / Up Arrow - 显示上一个命令行。 6. Ctrl + R - 进行历史记录搜索。 掌握这些 Bash 快捷键可以大大提高用户在终端中的工作效率。这些快捷键可以帮助...

    bash-history-cheat-sheet

    `bash-history-cheat-sheet`提供了对Bash历史记录编辑功能的快速参考,特别是结合了Emacs和Vi编辑模式的键盘快捷键。 ### Bash历史记录基础 Bash历史记录默认存储在`~/.bash_history`文件中,每次启动新的Shell...

    linux Bash 快捷键大全.docx

    - `Ctrl + p` 和 `Ctrl + n`:分别用于访问历史中的上一条和下一条命令。 - `Alt + .`:重复使用上一条命令的最后一个参数,这对于连续操作同一文件或目录非常便捷。 4. **Bang (!) 命令**: - `!!`:执行上一条...

    bash-3.1-MSYS-1.0.11-snapshot.tar

    bash-3.1-MSYS-1.0.11-snapshot.tar.bz2 ffmpeg 安装用包!

    Ubuntu下Shell快捷键操作大集合及部分Bash使用技巧.pdf

    标题“Ubuntu下Shell快捷键操作大集合及部分Bash使用技巧.pdf”暗示了该文档集中于在Ubuntu操作系统下使用Shell及Bash时可以利用的各种快捷键以及一些高级使用技巧。文档意在提供实用的参考,旨在提升用户在使用...

    让你提升命令行效率的 Bash 快捷键 [完整版]

    1. 以上介绍的大多数 Bash 快捷键仅当在 emacs 编辑模式时有效,若你将 Bash 配置为 vi 编辑模式,那将遵循 vi 的按键绑定。Bash 默认为 emacs 编辑模式。如果你的 Bash 不在 emacs 编辑模式,可通过 set -o emacs ...

    bash-vim-editing-cheat-sheet

    此文档是一份关于在Bash中使用Vim模式编辑命令行的快捷参考,即通过在用户主目录下的.bashrc文件中添加“set -o vi”一行,将Bash的编辑模式设置为Vim模式。这样,习惯使用Vim的用户可以更加便捷地在Bash中输入命令...

    vi/vim快捷键以及配置

    - **命令模式**:这是启动 VI 后的初始模式,所有的导航、删除、复制等命令都在这个模式下进行。 - **输入模式**:在此模式下,可以编辑文本。通过特定的命令从命令模式切换到输入模式。 - **末行模式**:用于执行一...

    Wrye Bash 304_3 - Installer-1840-304-3

    Wrye Bash 304_3 - Installer-1840-304-3

    Bash-Terminal-Keyboard-Shortcuts-for-History.pdf

    4. **Ctrl + N / 下箭头**:这两个快捷键用于显示下一个命令行,方便快速浏览历史命令。 5. **Ctrl + P / 上箭头**:这两个组合键用于显示上一个命令行,这是最常用的历史命令调用方式。 6. **Ctrl + R**:这个...

    Bash-Terminal-Keyboard-Shortcuts-for-Control-Process.pdf

    3. **Ctrl + L**:这个快捷键等同于执行`clear`命令,它的作用是清空终端屏幕,将所有的历史命令和输出清除,让你有一个干净的工作界面。 4. **Ctrl + Q**:这个键用于恢复之前暂停的命令。当你使用Ctrl + S停止了...

    bash-completion-2.1-6.el7.noarch.rpm

    在centos6或rhel6 操作系统安装bash-completion-2.1-6.el7.noarch.rpm后,重启即生效

    bash-hot-keys.pdf

    ### Bash Hot Keys与Vim插件bash-support.vim概述 #### 插件介绍 `bash-support.vim`是一款专为Vim编辑器设计的插件,旨在提高开发人员编写Bash脚本时的工作效率。该插件通过提供一系列快捷键(Hotkeys),使得用户...

    Bash-Terminal-Keyboard-Shortcuts-for-Information.pdf

    在输入文件名或目录名时,按下Tab键,Bash会尝试自动完成你正在输入的内容。如果你输入的部分与多个文件或目录匹配,再次按下Tab键,Bash将显示所有可能的选项供你选择。 2. **~ Tab Tab** 当你在命令行输入"~"后...

    高级Bash脚本编程指南 操作系统 - Linux - 高级Bash脚本编程指南.zip

    命令别名和函数可以简化常用命令的输入,比如`alias ll='ls -l'`创建了一个列出详细文件信息的别名。函数则可以封装复杂的命令序列,如`mycommand() { command1; command2; }`。 Bash脚本也支持错误处理和调试。`...

    bash history cheat sheet

    #### Vi模式下的历史编辑快捷键: - **k**:获取历史记录中的上一条命令。 - **j**:获取历史记录中的下一条命令。 - **/string 或 CTRL-r**:向后搜索包含指定字符串的历史记录。 - **?string 或 CTRL-s**:向前...

    Bash-Terminal-Keyboard-Shortcuts-for-Navigation.pdf

    8. **Ctrl + ] + A**:这个快捷键会将光标移动到下一个"A"字符的位置,如果你知道命令或路径中有特定字符,这能帮助你快速跳转。 9. **Alt + Ctrl + ] + A**:与上面的快捷键相对,它会将光标移到前一个"A"字符的...

    Python库 | dagster_bash-0.6.4rc3-py3-none-any.whl

    dagster_bash-0.6.4rc3-py3-none-any.whl是一个预编译的轮子文件,它是Python的二进制包格式,可以直接安装到Python环境中,无需编译源代码。 首先,了解Python库dagster_bash的核心功能。Dagster是一个强大的数据...

    bash-4.1.2-15

    标题 "bash-4.1.2-15" 指的是 Bash shell 的一个特定版本,这是 Linux 和类 Unix 系统中广泛使用的命令行解释器。Bash 是 Bourne-Again SHell 的缩写,它是 GNU 工程的一部分,为用户提供了一个交互式环境来执行命令...

Global site tag (gtag.js) - Google Analytics