set -o vi

 

set -o vi
再用esc+K键就可以使用上一条指令了

esc+k
esc+j
上下翻


ksh默认是emacs风格的。set -o emacs

 

在AIX下使用自己已经使用过的命令

    在AIX下使用,默认的shell是KSH,和linux下的bash不一样的是,他不能采用我们大家已经熟悉的DOS下的键或者其他我们已经熟悉的快捷键来使用我们上次已经使用过的命令,比如在DOS命令状态下(我把我自己经常用的快捷键列出来,可能还其他的,慢慢补充),大家可以通过F7来取得你已经在当前DOS窗口中输入过的不重复的命令(Windows对你自己在当前窗口顺序输入的非重复命令进行排序,以0,1,2...来编号),F1重复上次同一个位置上的字符,F3重复上次所有的命令,F5和F8向上翻我已经输入过的命令,F9是可以输入你要显示的上次输入的非重复的命令ID(比如,进入某DOS窗口之后,我依次输入了两条命令:dir和cd test,那么本窗口的第0条命令就是dir,类推,当我按下F9的时候,系统提示我“输入命令号码”,这个时候我按照上次输入的顺序号进行输入即可,比如选择0那么这个时候就是dir命令,这个功能和F7的功能是一致的,只是F7可以选择,F9可以直接输入,这两个功能当你输入的命令比较长的时候是比较有用的)。
    要想在AIX下使用上次你已经使用过的命令,可以使用以下的方法:
    1、在ksh下,运行set -o vi,这个时候整个命令状态就是是VI编辑器了,操作的方法和VI编辑器一摸一样,要重复上次的命令,就在当前状态栏下按ESC,然后输入k,就可以看到下一条命令,按下k就可以查询上一条命令,h可以在当前行向前移动一个字符的位置,l可以在当前行向后移动一个字符的为止,当然这个时候相当于处于vi的状态,所有在vi状态下的对单行操作的命令都可以使用。编辑好之后直接按回车即可。
    2、如果不不是在ksh下,那么你可以在命令窗口下运行ksh -o vi,其他的命令和第一种方法一样
    3、在ksh的环境变量中设置EDITOR=vi即可,修改的方法即在.profile中直接加入EDITOR=vi;export EDITOR即可。
    4、删除历史命令,可以在当前用户的主目录下,查询到一个.sh_history的文件,里面记载了你所有在当前用户输入过的命令。可以将这个文件编辑一下,然后将其中的命令删除掉就可以了。当然你可以将自己喜欢的命令或者比较长的命令放在里面,以后你就直接调用就可以了。当然从这个文件可以看出上面几点讲的采用vi的命令来取得上次的命令,其实ksh是取得这个文件中的信息。
    5、以下小技巧:
     a、重复上一条命令可以直接在ksh状态下输入r
     b、你可以在ksh状态下执行r a=b,意思是先将上一条命令中的a字符用b字符替换,然后运行

### 如何在 VSCode 终端中启用 Vi 模式 为了在 VSCode 的集成终端中使用 Vi 模式,可以通过以下几种方式进行配置: #### 方法一:通过 `vim` 插件实现 Vi 模式支持 VSCode 提供了一个官方插件——“ Vim ”,它能够模拟完整的 Vi/Vim 编辑模式。以下是安装和配置的具体步骤: 1. 打开 VSCode 并进入扩展市场 (Extensions),搜索 “Vim” 插件并点击安装。 2. 安装完成后无需额外配置即可激活基本的 Vi 功能[^4]。 如果希望进一步自定义行为,可以在用户的设置文件 (`settings.json`) 中添加特定选项。例如: ```json { "vim.easymotion": true, "vim.sneak": true, "vim.insertModeKeyBindings": [ { "before": ["j", "k"], "after": ["<Esc>"] } ] } ``` 此代码片段展示了如何绑定快捷键以及开启某些高级特性如 EasyMotion 和 Sneak[^5]。 #### 方法二:修改 Shell 配置以全局应用 Vi 键盘映射 对于偏好直接调整 shell 行为而非依赖 IDE 插件的情况,可以考虑更改默认编辑器样式至 vi-style。这适用于所有基于 readline 的工具(包括 bash, zsh 等)。操作如下: - 对于 Bash 用户,在 `.bashrc` 文件里加入下面这一行: ```bash set -o vi ``` - 如果正在使用 Zsh,则应编辑 `.zshrc` 文件,并同样写入以上命令[^6]。 完成上述改动后记得重新加载配置文件或者重启终端会话来生效变化: ```bash source ~/.bashrc # 或者 source ~/.zshrc 根据实际使用的shell类型而定 ``` #### 方法三:利用 VSCode 设置指定外部程序作为内置终端启动项 另一种间接方法是让 VSCode 调用已预设好环境变量与路径指向 vim 的子进程当作其内部交互界面的一部分。不过这种方法相对复杂且不推荐给初学者尝试除非确实遇到特殊需求场景无法满足现有解决方案时再做考量[^7]。 --- ### 示例代码展示 假设现在有一份简单的 C 源码需要测试运行效果的同时体验新设定下的 VI 操作手感的话,可参照下方流程演示整个过程: 创建一个名为 hello.c 的C语言源文件内容如下所示: ```c #include <stdio.h> int main() { printf("Hello from VIM mode!\n"); return 0; } ``` 接着按照前述提到的方式切换到Vi风格控制台输入相应指令依次完成编译链接最后执行最终产物验证成果即可见屏幕上打印出预期字符串消息[^8]. ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值