Tag: 文本编辑器

有记事本++的vim插件吗?

关于vim和notepad++有很多的问题和答案,但是这并不是很清楚, notepad++行为就像一个vim (如果可能的话)的最好方法是什么。 更新 看来,这个问题需要一些额外的信息,我的动机。 我假设自己是一个vim初学者。 我一时很难改变我的编辑。 我认为,比现在的编辑器vim插件可以让我更容易的方式在新的环境中感受到更多的舒适。

文本编辑原理

由于我总是对现有的编辑不满意,我一直想开始的一个项目就是我自己的文本编辑器。 不过,做文本编辑是很重要的事情。 除了分析现有文本编辑器的源代码之外,有没有关于这个主题的任何书籍或其他资源(如学术工作)? 我特别感兴趣的东西,教如何处理内存和如何pipe理文本插入(如果你有一个100 MB的文件,并希望在X位置添加一个字符,你不能只是巨大的文本块memmove … )。

在Vim的命令模式下导航

我很长一段时间学习Vim的emacs用户。 Emacs允许我使用与任何其他缓冲区相同的导航键盘快捷方式在迷你缓冲区(我在其中发出类似Cx Cs的命令)中导航。 例如,我可以使用Cf向前导航一个字符,即使在迷你缓冲区中也是如此。 我也可以使用箭头键,但它们太遥远了。 是否有任何键盘快捷键在Vim的命令模式(:)下导航,而不使用箭头键 – 相当于emacs Cf,Cb? 谢谢。

文本编辑器如何实现?

这个问题可能会让我听起来很无能。 那是因为我。 我只是在想,如果我假设有兴趣devise我自己的文本编辑器GUI控件,窗口小部件,或者任何你想要调用它的东西(我不知道),我怎么会这么做呢? 对像我这样的新手的诱惑将是以string的forms存储文本编辑器的内容,这似乎相当昂贵(不是我太熟悉string实现在一种语言/平台和下一个之间是如何不同的;但是我知道,例如在.NET中,它们是不可变的,如此频繁的操作(例如在文本编辑器中需要支持的东西)将会非常浪费,构build一个又一个string实例将会非常迅速。 据推测,一些含有文本的可变数据结构被用来代替; 但搞清楚这个结构可能会是什么样子,这是一个挑战。 随机访问会很好(毕竟,我想是不是要让用户能够跳到文本中的任何地方?),但是我想知道导航到某个地方的成本在一个巨大的文件的中间,并立即开始打字。 再次,新手的方法(比如将文本存储为可resize的字符数组)会导致非常糟糕的性能,我想,与用户键入的每个字符一样,会有大量的数据“转移”过度。 所以,如果我不得不猜测,我假设文本编辑器采用某种结构将文本分解成更小的片断(可能是?),它们分别包含随机访问的字符数组,它们本身是随机的作为离散块访问。 即使如此,它似乎也是一个相当可怕的过度简单化,但如果它甚至远远接近开始。 当然我也意识到,可能没有文字编辑实行的“标准”方式, 从一个编辑者到另一个编辑者,可能会有很大的变化 但我想,因为这显然是一个多次被解决的问题,多年来可能是一种比较常见的方法。 无论如何,我只是有兴趣知道有没有人有这方面的知识。 就像我说的,我绝对不是在写我自己的文本编辑器, 我只是好奇。

在64位Windows的控制台上编辑文本文件

我试图找出最简单的方法来编辑控制台中的文本文件(PowerShell在我的情况)。 我正在使用Windows 7 64位。 这让我不能只是edit filename.txt文件。 那曾经工作,但这一切都改变了。 我有什么select可以在Windows控制台中查看和编辑文本文件,如果你告诉我安装和学习VIM,我会打你的脸。 🙂

在Emacs中通过shell命令过滤文本

在vi [m]中有! 命令,让我通过shell命令pipe道文本 – 如sorting或缩进 – 并获取过滤的文本回到缓冲区。 在emacs中有没有相同的东西?

在Vim插入模式下,是否有添加文件path自动完成的方法?

我写了很多shell脚本,并且不断地input文件path。 我想知道是否有人知道在插入模式下让Vim自动完成文件path的方法,就像当你在你最喜欢的shell中你select完成目录或文件的path一样。 如果可以将shell的CTRL Dfunction转换为Vim插入模式(即查看当前path中的文件/目录),可以获得额外的功劳。

我如何使用Emacs将当前date和时间插入到文件中?

Emacs中的哪些命令可以用来将当前date和时间插入到文件的文本缓冲区中? (例如,记事本中的等价物只是简单地按下F5,这是记事本唯一有用的function!)

学习使用Emacs是否值得投入时间?

就在前面:我不想发起宗教战争。 只要我记得,我已经使用了vi ,而且我曾经尝试过拾起Emacs的那几次,我已经迷失了,所以很快就放弃了。 很多人发现Emacs非常强大,但是。 它的可编程性有点传奇。 我主要在做Solaris + Java开发,我想问一个简单的问题:如果我花时间在Emacs的脑海里投入时间,我的生产力会不会提高? Vim提供的function是否会在合理的时间内提高生产率? 重复一遍:我不想要一个“我的编辑比你更好”的答案。 对于是否值得投资的时间,我只是想一个是或否的答案。 我的生产力真的会增加吗?

更改在terminal中打开的文件的默认编辑器? (例如,将其设置为TextEdit / Coda / Textmate)

有没有办法打开文件在Textedit中打开的terminal编辑而不是? 例如,一个命令可能会打开一个文件进行编辑(如git commit ),而不是在vim或emacs中打开该文件,它将在Textedit中打开(或者可能是您select的另一个文本编辑应用程序,例如Coda或Sublime) 。 作为一个额外的问题,有没有什么办法来专门configurationgit自动打开在应用程序目录编辑器中运行git commit后创build的文件?