使用shell提供的命令行编辑功能, 选择set -o vi 还是 set -o emacs !
2008-04-01 18:32
253 查看
今天登入系统, 敲了N多命令后,习惯性的用向上的方向键来找寻历史命令,突然看到了这个:
$^[[A^[[A^[[A
按删除键,出来的是这个:
$ ^H^H^H^H^H^H^H
只能用 Ctrl+BackSpace 才能删除光标左边的内容...用的那个不习惯啊~~~!!! - -b
后来问到 Wells ,原来只需要做一个小小的设定,在Console中启用:
$set -o emasc
原因后来上网查了一下,暂且引用一下《FreeBSD使用大全》中的一段内容:
-----------------------------------------------------------------------------------------------
配置用戶shell
事實上sh與csh,并不是普通用戶的最佳選擇,因為這兩個shell在易用性方面做的不夠好,例如命令行編 輯功能不強、不能利用熱鍵重復執行命令等。較新的shell,如bash和tcsh都具有這些方便用戶使用的功能,但 必須安裝了這些shell程序之后,才能更改普通用戶的shell設置以使用這些shell程序。更改用戶的shell 可以使用pw、vipw或chsh。 這兩個shell分別遵照sh和csh的風格,因此喜好csh風格的可以選擇tcsh,而喜歡sh風格的選擇 bash。除了這兩種shell之外,還有ksh、zsh等shell可供選擇。如果對兩種shell沒有偏好,可以 選擇bash,它是一個GNU軟件,比標准sh功能強大的多。 使用了這兩些增強型shell之后,用戶就可以使用shell提供的命令行編輯功能。按照習慣的不同,可以選 擇vi風格的編輯方式或emacs風格的方式,缺省為emacs方式,這種方式使用方向鍵來回溯執行過的命令,并進行 修改,而vi風格使用字母命令作編輯鍵,例如使用h、j、k、l四個鍵來移動光標,vi風格的好處是不使用基本鍵盤之 外的控制鍵,因而可以適用于任何終端設備,并且進行編輯時手不需離開基本鍵盤,熟練操作之后最為快捷。emacs風格 比起vi風格更適合從個人計算機轉向Unix的使用者的習慣。bash, ksh ,zsh下使用下面的命令在emacs 風格和vi風格切換: bash$ set -o emacs bash$ set -o vi tcsh中使用不同的命令: % bind emacs % bind vi 還可以為常用的命令設置別名,簡化用戶輸入,例如: bash$ alias ec=”echo This is a alias” bash$ ec This is a alias shell用于方便用戶操作的另一項能力是自動補全命令或文件名的功能,因為FreeBSD下的文件名可能很 長,將它們全部輸入比較麻煩。事實上可以輸入部分名字,然后按Tab鍵(在vi風格下是連續兩次按Esc鍵),shell 將自動補全文件名的剩余部分。如果已經輸入的這部分名字不能確定具體的命令或文件,那么shell只將能確定的部 分補上,然后響鈴通知使用者繼續輸入以明確具體的文件。 事實上即使在基本的sh或csh下,也可以使用 “*” 等特殊字符,用模式匹配的方式來簡化輸入。 bash$ cd /usr/loca* bash$ pwd /usr/local Unix中的多數程序都具備模式匹配的處理能力,而shell的模式匹配功能最為常用。shell可以使用這 些特殊模式來配置多個文件,達到簡化操作的目的。如果要熟練掌握Unix,必須掌握模式匹配。 當試圖在bash下輸入漢字的時候,除了必須設置終端屬性能接受8位字符之外(執行stty pass8命令 ),還需要設置bash的輸入輸出轉換,可以在登錄腳本.profile文件中包括以下設置: bind 'set convert-meta off' bind 'set meta-flag on' bind 'set output-meta on'
$^[[A^[[A^[[A
按删除键,出来的是这个:
$ ^H^H^H^H^H^H^H
只能用 Ctrl+BackSpace 才能删除光标左边的内容...用的那个不习惯啊~~~!!! - -b
后来问到 Wells ,原来只需要做一个小小的设定,在Console中启用:
$set -o emasc
原因后来上网查了一下,暂且引用一下《FreeBSD使用大全》中的一段内容:
-----------------------------------------------------------------------------------------------
配置用戶shell
事實上sh與csh,并不是普通用戶的最佳選擇,因為這兩個shell在易用性方面做的不夠好,例如命令行編 輯功能不強、不能利用熱鍵重復執行命令等。較新的shell,如bash和tcsh都具有這些方便用戶使用的功能,但 必須安裝了這些shell程序之后,才能更改普通用戶的shell設置以使用這些shell程序。更改用戶的shell 可以使用pw、vipw或chsh。 這兩個shell分別遵照sh和csh的風格,因此喜好csh風格的可以選擇tcsh,而喜歡sh風格的選擇 bash。除了這兩種shell之外,還有ksh、zsh等shell可供選擇。如果對兩種shell沒有偏好,可以 選擇bash,它是一個GNU軟件,比標准sh功能強大的多。 使用了這兩些增強型shell之后,用戶就可以使用shell提供的命令行編輯功能。按照習慣的不同,可以選 擇vi風格的編輯方式或emacs風格的方式,缺省為emacs方式,這種方式使用方向鍵來回溯執行過的命令,并進行 修改,而vi風格使用字母命令作編輯鍵,例如使用h、j、k、l四個鍵來移動光標,vi風格的好處是不使用基本鍵盤之 外的控制鍵,因而可以適用于任何終端設備,并且進行編輯時手不需離開基本鍵盤,熟練操作之后最為快捷。emacs風格 比起vi風格更適合從個人計算機轉向Unix的使用者的習慣。bash, ksh ,zsh下使用下面的命令在emacs 風格和vi風格切換: bash$ set -o emacs bash$ set -o vi tcsh中使用不同的命令: % bind emacs % bind vi 還可以為常用的命令設置別名,簡化用戶輸入,例如: bash$ alias ec=”echo This is a alias” bash$ ec This is a alias shell用于方便用戶操作的另一項能力是自動補全命令或文件名的功能,因為FreeBSD下的文件名可能很 長,將它們全部輸入比較麻煩。事實上可以輸入部分名字,然后按Tab鍵(在vi風格下是連續兩次按Esc鍵),shell 將自動補全文件名的剩余部分。如果已經輸入的這部分名字不能確定具體的命令或文件,那么shell只將能確定的部 分補上,然后響鈴通知使用者繼續輸入以明確具體的文件。 事實上即使在基本的sh或csh下,也可以使用 “*” 等特殊字符,用模式匹配的方式來簡化輸入。 bash$ cd /usr/loca* bash$ pwd /usr/local Unix中的多數程序都具備模式匹配的處理能力,而shell的模式匹配功能最為常用。shell可以使用這 些特殊模式來配置多個文件,達到簡化操作的目的。如果要熟練掌握Unix,必須掌握模式匹配。 當試圖在bash下輸入漢字的時候,除了必須設置終端屬性能接受8位字符之外(執行stty pass8命令 ),還需要設置bash的輸入輸出轉換,可以在登錄腳本.profile文件中包括以下設置: bind 'set convert-meta off' bind 'set meta-flag on' bind 'set output-meta on'
相关文章推荐
- 使用shell提供的命令行编辑功能, 选择set -o vi 还是 set -o emacs !
- 使用shell提供的命令行编辑功能, 选择set -o vi 还是 set -o emacs !
- 使用shell提供的命令行编辑功能, 选择set -o vi 还是 set -o emacs !
- 使用shell提供的命令行编辑功能, 选择set -o vi 还是 set -o emacs !
- [转]使用shell提供的命令行编辑功能, 选择set -o vi 还是 set -o em...
- 使用微软提供的Office Online实现Office文档的在线查看,编辑等功能
- 给您的文字编辑程序添加一剂“后悔药”-使用RichTextBox控件提供用户编辑功能,加入类似word的“撤销”和“恢复”功能
- 非程序员的GNU Emacs使用心得...... Shell Mode 第3集 命令行编辑
- 使用微软提供的Office Online实现Office文档的在线查看,编辑等功能
- _CrtSetBreakAlloc(…)来检测内存泄漏+VC使用CRT调试功能检测内存泄漏(转)
- 艾伟:WinForm控件开发总结(七)-----为复杂属性的子属性提供编辑功能
- 谈Java Properties配置文件, 是J2EE容器的命令行绑定, 还是使用Deploy自适应的绑定?
- C#使用系统的“显示桌面”功能(Shell.Application)
- Windows、linux系统使用命令提示符功能(cmd,command,又称命令行)详细图文教程和手册下载
- Sublime2插件emmet(原名zencoding)使用方法,强大的html/css编辑功能
- 【ADB命令行】adb shell screenrecord命令行使用说明
- Android:使用百度地图SDK定位当前具体位置(类似QQ发表说说的选择地点功能)
- 在emacs上使用博客园的代码功能
- 在 Linux 命令行中使用和执行 PHP 代码(二):12 个 PHP 交互性 shell 的用法
- 遇到的问题------Asp.net使用GridView的编辑修改功能回发无效