具有类似Windows的键盘快捷键(ctrl-z,x,c,v)的控制台文本编辑器


31

好的,我意识到我冒着宗教战争的危险,问一个有关文本编辑器的问题,但这是可行的。

要求

  • 主要用于配置文件编辑
  • 基于文本而非GUI
  • 可用于Debian的Raspian风格
  • Windows / Mac GUI用户无需学习(无vi / vim)
  • 充分利用现代键盘上的键,例如home,end,pgup,pgdn,del
  • 使用几乎所有GUI应用程序中提供的键盘快捷键,例如,撤消(Ctrl-Z),重做(Shift-Ctrl-Z),全选(Ctrl-A),剪切(Ctrl-X),复制(Ctrl-C),粘贴(Ctrl-V),扩展选择(Shift-Arrow),跳过单词(Ctrl-Arrow),删除选择(Del)等
  • 可选:鼠标支持,用于更改光标位置和选择文本

在这个时代,这当然不是一个大问题吗?


2
“不需要学习”听起来像是一个非同一般的限制(可能是不现实的)标准,尤其是在您要求使用CLI工具的时候……
jasonwryan 2012年

1
nano会很近的。它不会具有完全相同的快捷方式,但是具有相同的快捷方式即可执行相同的操作。或者您可以创建.nanorc并具有自定义快捷方式
h3rrmiller 2012年

2
@jasonwryan作为经验丰富的Windows(或Mac)用户,我已经学习了仅使用键盘使用现代文本编辑器的要求。我想在Linux CLI工具中使用相同的经验。
格雷格·伍兹

3
您期望的快捷方式是Microsoft对IBM CUA准则的修改。在UNIX世界中,CUA和MS的修改都不是传统的。
吉尔(Gilles)'所以

4
@Gilles我不太确定我是否同意将这些快捷方式称为“ Windows”快捷方式。每个执行文本编辑的通用GUI应用程序都在所有主要平台上使用这些快捷方式。其中许多快捷方式也早于Windows。
2012年

Answers:


13

我已经尝试了所有上述解决方案(除了那些显然很愚蠢的解决方案,例如emacs或vi配置)。

最好的整体是波浪号。 真正为了回答格雷格·伍兹提出的原始问题而作。应该将其添加到所有标准linux存储库中。

作为一个长期的nano用户,他在这里找到了一个真正的撤消/重做缓冲区和标准GUI编辑器键绑定同样简单的方法,我衷心推荐Sanos编辑器。 它很小,可以满足原始查询的要求。其唯一的缺陷是没有鼠标支持放置光标。这是我新喜欢的最小编辑器,nano正在进入垃圾箱。您必须对其进行编译,但这是一个琐碎的程序-单个C语言源文件。我将其编译为“ sanos编辑器”的“ sane”(sanos实际上是一个微型操作系统)。

现在,重申一下这个问题,大多数答复和投票似乎都忽略了:该请求是一个简单的基本编辑器,该编辑器只能工作并使用标准GUI绑定(顺便说一句,它不属于Windows)。

我推荐的两个和fte是唯一可以解决的问题,并且fte在xterm中太古怪。


我编译sanos但Shift +箭头键不能正常工作,还转移作品字母大写,我米用腻子的ssh
生化危机

这是恕我直言的最佳答案。我尝试了两者,并且Shift + Arrows用于选择和Ctrl + C Ctrl + V等都可同时使用。我必须在终端仿真器中禁用冲突的键盘快捷键,尽管像Shift + Up一样可以向后滚动一行。
SoleSoul

有趣的是Sanos编辑器只有约2000行代码,具有Control-Z撤消,shift-select,能够很好地处理选项卡。似乎unindent()函数有一个错误。我认为这将是构建更强大的编辑器的一个很好的起点。
PJ Brunet

天哪。谢谢你 尝试了波浪号20秒,然后说:“是的,这就是我想要的!” 干杯!
Paul Erlenmeyer

11

尝试微。

https://github.com/zyedidia/micro

Micro是基于终端的文本编辑器,旨在易于使用和直观,同时还利用了现代终端的全部功能。它是一个单独的,包含电池的静态二进制文件,没有任何依赖关系,您可以立即下载并使用它。

顾名思义,micro旨在通过易于安装和使用而在某种程度上成为nano编辑器的后继者,但无论您是在终端还是在终端工作,micro都希望享受全职使用的乐趣,因为您更喜欢它(例如我),或者因为您需要(通过ssh)。

屏幕截图和颜色

这几乎是完美的。移位箭头选择效果很好。Control-C(剪切),Control-V(粘贴),Control-Z(撤消),Control-S(保存)均按预期工作。它还可以完美缩进和缩进选择。

您需要一个正确支持Shift键的终端仿真器。终结者开箱即用。某些基于Android的终端不支持班次选择,但是JuiceSSH(在Google Play中最受欢迎)可以工作,尽管我尚未对其进行广泛的测试。


2
出色的鼠标支持以及漂亮的语法突出显示。
PJ Brunet

默认的配色方案和支持的语言选择可以证明这是最“现代”的。但是,键绑定与Sublime之类的东西有很大不同,它是更改它们的PIA,并且完全不支持许多键盘快捷键。
Aleksandr Dubinsky

9

joeIMO是最好的编辑器,而并非VI。它本身就是一个不错的功能齐全的编辑器,而不是像一样精简的无功能最小编辑器nano

如果以jstaror 调用joe,则默认的键绑定类似于WordStar,多年来,它也已在许多其他程序中使用,包括Borland Turbo Pascal和Turbo C IDE的编辑器,因此许多用户应该熟悉它们。如果作为jmac键调用,则绑定为emacs-like。按键绑定是可配置的,如果找不到适合自己的配置,则可以自己添加一个,也可以复制和修改现有的配置。

我的vi用户太多了,无法自己使用它,但是我经常向不喜欢或不想学习诸如的模式编辑器的人推荐它vi,并且效果很好。

这是debian软件包中的描述:

Joe,或Joe的自己的编辑器,具有大多数PC文本编辑器的感觉:按键序列让人想起WordStar和Turbo C编辑器,但功能集远不止于此。Joe具有Unix用户应该拥有的所有功能:充分使用termcap / terminfo,完整的VI风格的Unix集成,功能强大的配置文件以及正则表达式搜索系统。它还具有六个始终可用的帮助参考卡,以及一个直观,简单且经过深思熟虑的用户界面。

Joe有一个很棒的屏幕更新优化算法,有多个窗口(可以在其中滚动/滚动),并且缺少命名缓冲区的混淆概念。它具有命令历史记录,文件选择菜单中的TAB扩展,撤消和重做功能,(取消缩进和段落格式),可通过任何外部Unix命令过滤突出显示的块,将管道编辑入或移出命令,以及块移动,复制,删除或过滤。

通过简单的QEdit样式的配置文件,可以将Joe设置为模拟Pico和Emacs之类的编辑器,以及对WordStar的完全模仿和受限模式版本(允许您仅编辑在命令行上指定的文件)。Joe还具有延迟的屏幕更新以处理提前输入,并且它确保tty缓冲不会绕过延迟。即使在2400波特的情况下也可以使用,并且可以在任何理智的终端上使用。

它是AFAIK,已为所有发行版打包,其源代码可在http://joe-editor.sourceforge.net/上获得-如果还没有二进制包,则已Debian化的源应在Raspian上编译。


1
感谢您的建议。它可能对某人有用,但我从不喜欢Wordstar样式的快捷方式。当我需要功能更丰富的编辑器时,我可能会重新考虑。
格雷格·伍兹

11
-1:Joe的键盘快捷键似乎和vim或nano一样“不合常规”。例如,CTRL + A不会“全选”,CTL + F不会“查找”。
加勒特

自1994年以来,我就开始使用Joe,尽管与Vim相比Joe相对容易一些,但我认为这并不是对这个问题的最佳答案。我注意到乔现在不在某些发行版中,但是您可以通过yum或apt-get轻松获得“ Jupp”(基于乔)。Jupp确实具有SHIFT选择。剪切和粘贴对于Jupp来说有点奇怪,但是它很容易学习,Control-J可以帮助您。
PJ Brunet

3
抱歉,这真的回答了这个问题吗?joe与一样难以退出vim,并且Windows热键不起作用。
mafu

反对使我回到了这个答案。正如Gilles在他的回答中指出的,有CUA的键盘绑定可用于joe
cas

7

尝试使用FTE文本编辑器。有多种版本可供选择。您想要的sfte那个可能在Debian的fte-terminal软件包中。

在此处输入图片说明


一个很好的建议,但是只是尝试使用Shift + DownArrow选择文本会导致大量“ FIXME”消息损坏屏幕。快捷方式直接来自八十年代... Ctrl-Ins复制吗?Alt-Backspace可以撤消吗?一些选项是纯Linux怪胎:“复制-附加”?我不需要阅读“复制”命令手册!从好的方面来说,我喜欢启动时的目录浏览器。
格雷格·伍兹

1
奇怪的。我尝试的第一件事是Shift + DownArrow选择文本,然后按Ctrl-C和Ctrl-V进行复制和粘贴,因为我认为这也是您尝试的方法。他们都为我工作。
吉姆·巴黎

嗯 奇。我使用的是sudo apt-get install fte-terminal获得的终端版本。我会在几分钟后再试一次。
格雷格·伍兹

1
同样在这里。也许这取决于所使用的终端仿真器;我的是xterm。
吉姆·巴黎

这是有道理的,因为Diakonos也无法正常工作。我将不得不仔细研究PuTTY中的可用选项
Greg Woods

7

长话短说:使用 nano

您可以轻松进行自定义nano以满足您的要求,尤其是在所需的键盘快捷方式方面。为此,请查看bind您可以在本地~/.nanorc文件中设置的参数。当然,您也可以下载现成的配置文件(见下文)。

可以绑定仿照组合键Ctrl+与前面的^Alt+M-(“元”)。不幸的是,似乎没有办法绑定包含Shift密钥的组合。按字词跳过的nano 默认值为Ctrl+SpaceMeta+Space。好像还不够,您也无法绑定箭头键。但是也许您可以忍受这些缺点。

因为看一下好的一面:事实上,github有一个软件包,其中大多数包含改进的语法高亮显示,但也包含几乎所有所需的键绑定。通过调用进行安装,但是请注意,在此过程中,当前版本将被覆盖。make~/.nanorc

我认为您应该尝试一下,即使Shift+Arrow选择似乎是您的头等大事。在中nano,您将Ctrl+A用来启动选择模式,因此您甚至不必一直保持Shift按下状态!而且,您始终可以使用Ctrl+Shift+X终端提供的etc.快捷方式。正如您可能已经认识到的那样,我对它感到非常满意nano,部分原因可能是因为他曾经是Windows用户。


编辑:这是一个屏幕截图,显示了底部帮助栏中的一些相关按键绑定。

配备github.com/craigbarnes/nanorc设置包的Nano编辑器


5

Cream是vim的配置,它是无模式的,并且使用了所有可能期望的键盘快捷键,例如Ctrl + X,Ctrl + V。

与Vim不同,它与习惯于Windows GUI应用程序(如记事本)的人们并不陌生。如果可以使用记事本,则可以使用面霜。

  • 可以用于配置文件编辑
  • 基于文本以及GUI
  • 可用于Debian的Raspian风格
  • Windows / Mac GUI用户无需学习
  • 充分利用现代键盘上的键,例如home,end,pgup,pgdn,del
  • 使用几乎所有GUI应用程序中都存在的键盘快捷方式,例如,撤消(Ctrl-Z),重做(Shift-Ctrl-Z),全选(Ctrl-A),剪切(Ctrl-X),复制(Ctrl-C),粘贴(Ctrl-V),展开选择(Shift-箭头),跳过单词(Ctrl-箭头),删除选择(Del)等
  • 鼠标支持更改光标位置和选择文本

花了我一段时间才能找到它,cream -v使您进入文本模式,而F12 则为您提供菜单。
PJ Brunet


3

Diakonos还符合大多数要求:

对其他控制台编辑感到沮丧吗?您已经知道在GUI应用程序中按哪些键可以打开,保存,复制,剪切,粘贴和撤消。为什么控制台文本编辑器的行为有所不同?答:不应该。

欢迎使用Diakonos,它是控制台文本编辑器,它具有您实际上已经知道的键映射。易于使用且易于配置,但对高级用户有效。

Debian软件包存在,我没有有关所请求风味的信息。


谢谢你的建议。我可能会喜欢Raspian。仍然不能选择和其他功能。但是正如@ jim-paris所建议的,这很可能是终端仿真器问题。
格雷格·伍兹

2

看一下Sanos编辑器:

http://www.jbox.dk/sanos/editor.htm

只有28k二进制文件才能执行所有其他编辑器尝试执行的操作-并失败。

它完全符合OP的要求:

Shift +箭头突出显示文本

Ctrl-X,C,V用于剪切/复制/粘贴

您还可以同时具有多个打开的文件,并将命令“管道”到其中。例如,按Ctrl-P并在提示符下输入:

猫yourfile

它将yourfile插入光标所在的位置。这样,bash命令的全部功能都可以使用(使用grep仅插入文件的特定部分)。


1

答案是kitty + tilde(KiTTY是PuTTY版本0.66的叉子)!我的一生都是骗人的:D

http://www.9bis.net/kitty/?page=下载

它具有与腻子一起交付的固定的shift +箭头键错误(也shift +箭头键在其他ssh客户端中不起作用)


看来问题的至少一部分确实来自终端,所以我期待尝试一下。
格雷格·伍兹

1

已通过MS-Windows中的终端使用nano进行了以下测试。
这将使您的nano更近一步,支持复制/剪切/粘贴等的“通用”快捷方式(至少在Windows世界中如此)。
将这些行添加到文件/etc/nanorc

bind ^c copytext main
bind ^x cut main
bind ^v uncut main
bind ^z undo main
bind ^y redo main
bind ^f whereis main
bind F3 findnext main
bind ^h replace main

请注意,如果您不先选择文本,它们将按整行工作:-/

如果您在用nano选择文本时遇到问题,请shift+arrow-keys注意,这似乎与nano没有关系,但是与您的终端程序有关!它在PuTTY中不起作用,但是在Kitty(PuTTY,Windows版本 / Linux版本的分支)或Google的Chrome SSH客户端中起作用。

(我正在使用Debian Buster)


0

乐是另一个解决方案。就像Norton Commander(Midnight Commander的名声)一样,但也许更直观。

在MC中,按F3键开始和结束区域选择,然后使用F5或F6复制或移动它。在le F5上开始选择,如果继续前进,F6将结束选择。如果向前移动到上一个选择,则F6将添加所有内容,或者向后移动并按F5,将添加所有内容。因此,如果MC中为F3,则可以使用F5或F6。如果按F5并向后移动并再次按它,​​它将选择该区域。如果按F6键并向前移动并再次按它,​​它将选择该区域。

要安装使用:

apt-get install le

或下载源代码并进行构建(我已经在Debian sid上对其进行了测试):

http://lav.yar.ru/download/le/le-1.14.9.tar.gz

这是Debian软件包:http : //packages.debian.org/sid/le


0

我尝试过Nano,Joe,Pico等。尽管它们比Emacs或Vi [m]容易,但它们都具有自1980年代以来任何其他程序都怪异的,特质的UI。

但是,那里适用于Linux的,符合CUA要求的现代编辑器!

有人推荐FTE。它是长期未维护的,但是当前有一个名为eFTE的fork:http : //sourceforge.net/projects/efte/

这个很不错; 例如,即使在X终端仿真器窗口中运行,它也可以捕获Alt键以进行菜单访问。

我也很喜欢另一个叫Tilde的软件,它目前正在维护,并且有可用的最新软件包。 http://os.ghalkes.nl/tilde/


1
Tilde编辑器应该是正确的答案。这个编辑器真的很好!

0

最近遇到了MinEd [ http://towo.net/mined/]

# Option "emul": emulation mode, especially control key function mapping; 
# takes a single-letter value: 
# e: emacs mode 
# s: WordStar mode 
# w: Windows keyboard mode 
# W: Windows behaviour (-w, CRLF for new files, cmd.exe with ESC !) 
# p: pico mode 
# m: mined default 
#emul m

显然它正在Debian测试中,并且具有鼠标支持,但是我还没有尝试过。
PJ Brunet

0

Fiflo是简约的解决方案。支持的键盘快捷键: Ctrl+Arrows Ctrl+Backslash Ctrl+D Ctrl+O Ctrl+Q Ctrl+O Ctrl+F1-F4

我之所以使用它,是因为我没有时间打开etc/nanorc


0

mcedit是最好的之一。至少会使您使用UI达到90年代。没有像所有提到的编辑器一样的SHIFT箭头,但是非常Norton Commander界面,Fx键,CtrlO来查看外壳。记住回来时的位置,即使是不太可能出现的文件(没有扩展名)也可以突出显示。更智能,接近Windows替代方案,也远非Unix替代方案(更好)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.