标签 编辑器 下的文章

作为一名开发者,你不应该把时间花费在考虑如何去找你所要编辑的代码上。在我转移到完全使用 VIM 的过程中,感到最痛苦的就是它处理文件的方式。从之前主要使用 Eclipse 和 Sublime Text 过渡到 VIM,它没有捆绑一个常驻的文件系统查看器对我造成了不少阻碍,而其内建的打开和切换文件的方式总是让我泪流满面。

就这一点而言,我非常欣赏VIM文件管理功能的深度。在工作环境上我已经装配了这些工具,甚至比起那些视觉编辑器好很多。因为这个是纯键盘操作,可以让我更快地在代码里面穿梭。搭建环境需要花费一些时间,安装几个插件。首先第一步是我明白vim内建功能只是处理文件的一种选择。在这篇文章里我会带你去认识vim文件管理功能与使用更高级的插件。

基础篇:打开新文件

学习vim其中最大的一个障碍是缺少可视提示,不像现在的GUI图形编辑器,当你在终端打开一个新的vim是没有明显的提示去提醒你去走什么,所有事情都是靠键盘输入,同时也没有更多更好的界面交互,vim新手需要习惯如何靠自己去查找一些基本的操作指令。好吧,让我开始学习基础吧。

创建新文件的命令是:e 或:e 打开一个新缓冲区保存文件内容。如果文件不存在它会开辟一个缓冲区去保存与修改你指定文件。缓冲区是vim是术语,意为"保存文本块到内存"。文本是否能够与存在的文件关联,要看是否每个你打开的文件都对应一个缓冲区。

打开文件与修改文件之后,你可以使用:w命令来保存在缓冲区的文件内容到文件里面,如果缓冲区不能关联你的文件或者你想保存到另外一个地方,你需要使用:w 来保存指定地方。

这些是vim处理文件的基本知识,很多的开发者都掌握了这些命令,这些技巧你都需要掌握。vim提供了很多技巧让人去深挖。

缓冲区管理

基础掌握了,就让我来说更多关于缓冲区的东西,vim处理打开文件与其他编辑器有一点不同,打开的文件不会作为一个标签留在一个可见的地方,而是只允许你同时只有一个文件在缓冲区打开,vim允许你打开多个缓存区。一些会显示出来,另外一些就不会,你需要用:ls来查看已经打开的缓存,这个命令会显示每个打开的缓存区,同时会有它们的序号,你可以通过这些序号使用:b 来切换或者使用循序移动命令 :bnext:bprevious 也可以使用它们的缩写:bn:bp

这些命令是vim管理文件缓冲区的一个基础,我发现他们不会按照我的想法映射出来。我不想关心缓冲区的顺序,我只想按照我的想法去到那个文件或者想在当前这个文件.因此必需了解vim更深入的缓存模式,我不是推荐你必须用内部命令来作为主要的文件管理方案。但这些的确是很强大可行的选择。

分屏

分屏是vim其中一个最好用的管理文件功能,在vim中你可以将当前窗口同时分开为2个窗口,可以按照你喜欢的配置去重设大小和分配,个别时候,我可以在同时打开6文件每个文件,每个都拥有不同大小。

你可以通过命令:sp 来新建水平分割窗口或者 :vs 垂直分割窗口。你可以使用这些关键命令去调整你想要的窗口大小,老实说,我喜欢用鼠标处理vim任务,因为鼠标能够给我更加准确的两列的宽度而不需要猜大概的宽度。

创建新的分屏后,你需要使用ctrl-w [h|j|k|l]来向后向前切换。这个有一点笨拙,但这个却是很重要、很普遍、很容易、很高效的操作。如果你经常使用分屏,我建议你去.vimrc使用以下代码去设置别名为ctrl-h ctrl-j 等等。

nnoremap <C-J> <C-W><C-J> "Ctrl-j to move down a split  
nnoremap <C-K> <C-W><C-K> "Ctrl-k to move up a split  
nnoremap <C-L> <C-W><C-L> "Ctrl-l to move    right a split  
nnoremap <C-H> <C-W><C-H> "Ctrl-h to move left a split  

跳转表

分屏是解决多个关联文件同时查看问题,但我们仍然不能解决已打开文件与隐藏文件之间快速移动问题。这时跳转表是一个能够解决的工具。

跳转表是众多插件中看起来奇怪而且很少使用的一个。vim能够追踪每一步命令还有切换你正在修改的文件。每次从一个分屏窗口跳到另外一个,vim都会添加记录到跳转表里面。它记录你去过的地方,这样就不需要担心之前的文件在哪里,你可以使用快捷键去快速追溯你的踪迹。Ctrl-o允许你返回你上一次地方。重复操作几次就能够返回到你最先编写的代码段地方。你可以使用ctrl-i来向前返回。当你在调试多个文件或在两个文件之间切换时,它能够发挥极大的快速移动功能。

插件

如果你想vim像Sublime Text 或者Atom一样,我就让你认清一下,这里有很好的机会让你看清一些难懂,可怕和低效的事情。例如大家会发出"当Sublime有了模糊查找功能,为什么我一定要输入全路径才能够打开文件" "没有侧边栏显示目录树我怎样查看项目结构" 等等。但vim有了解决方案。这些方案不需要破坏vim的核心。我只需要经常修改vim配置与添加一些最新的插件,这里有3个有用的插件可以让你像Sublime管理文件

  • CtrlP 是一个跟Sublime的"Go to Anything"栏一样模糊查找文件.它快如闪电并且非常可配置性。我使用它主要用来打开文件。我只需知道部分的文件名字不需要记住整个项目结构就可以查找了。
  • The NERDTree 这个一个文件管理夹插件,它重复了很多编辑器都有的侧边文件管理夹功能。我实际上很少用它,对于我而言模糊查找会更加快。对于你接手一个项目,尝试学习项目结构与了解什么可以用是非常方便的,NERDTree是可以自己定制配置,安装它能够代替vim内置的目录工具。
  • Ack.vim 是一个专为vim的代码搜索插件,它允许你跨项目搜索文本。它封装了Ack 或 Ag 这两个极其好用的搜索工具,允许你在任何时候在你项目之间快速搜索跳转。

在vim核心与它的插件生态系统之间,vim 提供足够的工具允许你构建你想要得工作环境。文件管理是软件开发系统的最核心部分并且你值得拥有体验的权利。

开始时需要通过很长的时间去理解它们,然后在找到你感觉舒服的工作流程之后再开始在上面添加工具。但依然值得你去使用,你不用爆头就可以理解如何去使用,能够轻易编写你的代码。

更多插件资源

  • Seamlessly Navigate Vim & Tmux Splits 这个插件需要每一个想使用它的人都要懂得使用tmux,这个跟vim的splits 一样简单好用。
  • Using Tab Pages 它是一个vim的标签功能插件,虽然它的名字用起来有一点疑惑,但它不是文件管理器。对如何在有多个工作可视区使用"tab pages" 在vim wiki 网站上有更好的概述。
  • Vimcasts: The edit command 一般来说 Vimcasts 是大家学习vim的一个好资源。这个屏幕截图与一些内置工作流程很好地描述了之前说的文件操作方面的知识。

via: http://benmccormick.org/2014/07/07/learning-vim-in-2014-working-with-files/

作者:Ben McCormick 译者:haimingfg 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

这是一篇快速教程指导我们如何通过官方的PPA源在Ubuntu14.04上安装UberWriter编辑器。

UberWriter是一款Ubuntu下的Markdown编辑器,它简洁的界面能让我们更致力于编辑文字。UberWriter利用了pandoc(一个格式转换器)。但由于UberWriter的UI是基于GTK3的,因此不能完全兼容Unity桌面系统。

以下是对UberWriter功能的列举:

  • 简洁的界面
  • 使用pandoc转换markdown
  • 可预览
  • 免打扰模式
  • 拼写检查
  • 语法高亮,能在html和pdf中出现数学公式
  • 支持导出到PDF,HTML,ODT等

在Ubuntu14.04上安装UberWriter

UberWriter可以在Ubuntu软件中心中找到但是安装需要支付5刀。如果你真的喜欢这款编辑器并想为开发者提供一些资金支持的话,我很建议你购买它。

除此之外,UberWriter也能通过官方的PPA源来免费安装。通过如下命令:

sudo add-apt-repository ppa:w-vollprecht/ppa
sudo apt-get update
sudo apt-get install uberwriter

安装完毕之后,你可以通过Unity的Dash运行使用。如你所见,它支持markdown的语法高亮:

你可以使用预览功能来查看你的文档:

我尝试导出到PDF的时候被提示安装texlive。

虽然导出到HTML和ODT格式是好的。

在Linux下还有一些其他的markdown编辑器。Remarkable是一款能够实时预览的编辑器,UberWriter却不能,不过总的来说它是一款很不错的应用。如果你在寻找文本编辑器的话,你可以试试Texmaker LaTeX editor

系统这个教程能够帮你在Ubuntu14.04上成功安装UberWriter。我猜想UberWriter在Ubuntu12.04,Linux Mint 17,Elementary OS和其他在Ubuntu的基础上的Linux发行版上也能成功安装。


via: http://itsfoss.com/install-uberwriter-markdown-editor-ubuntu-1404/

作者:Abhishek 译者:John 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

想要挑起狂热Linux爱好者之间的激烈争辩吗?那就问问他们最喜欢的文本编辑器是什么吧。在开源社区中,选择一个用来写文本,或者更进一步,用来写代码的编辑器,比选择一个球队或者游戏控制器还要重要。但是任何一个Linux新手都不该为过多的建议和各种各样的煽动而感到焦虑不安,取而代之,先去试着熟悉熟悉一堆不同的文本编辑器吧。所以今天我将要给你建议一个简单主题的列表,里面的编辑器都可以在Linux下编辑文本。这个列表不包括那些成熟的只用来编程的IDE,也不包括那些专门进行LaTex排版的编辑器。如果你对后者感兴趣,我可以建议你去看看这里.

1. Vim & Emacs

让我们直接从这两个“大咖”开始。当有人在一个聊天室里问关于Linux下的编辑器时,会有一个人立马回答Vim,然后会有另外一个说Emacs。(LCTT译注:这就是V党和E党啊~)之所以会这样,理由很充分。这两个都是非常强大的编辑器,有很多的特性,很多插件,很强大的社区支持。如果你一点都不熟悉它们的话,要描述清楚它们强大的功能是有点困难。但是简单来讲,它们允许你在文本中快速移动,简单地做出大量的修改,记录宏以及你能想到基本上任何疯狂的编辑方式。这两个编辑器共同的缺点是,不可避免地花时间去学习。讲完这点之后,我不会陷入到哪一个更好的争论中去,但是我真的想建议每一个人至少学习这两者之一。

2. Sublime Text & Lime & Atom

一款叫做Sublime Text的文本编辑器在过去几年逐渐兴起。一些人可能会将它视为Vim或者Emacs的友好版,专为编程而设计的。事实上,它保持了一些与Vim和Emacs的相似特性。比如,批量编辑和函数跳转都会让人或多或少想起Emacs或者一个充满活力的Vim。然而,它保留了更多的可视性并且更加容易使用。同样,大量的插件吸引大家进行个性化定制。(LCTT译注:实际上,译者认为Sublime Text与其说是像Vim或Emacs,不如说更像是Mac上的编辑器神器textmate。另外,Sublime Text的发展最近已经陷入停滞了。)

Sublime Text唯一的“污点”是它的许可证:如果你只使用开源软件的话,你可以放弃它了。(LCTT译注:但是Sublime Text可以全功能一直试用下去,没有一点区别,只是如果你觉得应该支持的话,付费比较好,虽然挺贵。)为此,最近出现了一个雄心勃勃的克隆版 Lime 。这个软件正处在重度开发当中,但是它的理念是:跟Sublime Text相似的用户体验,但是带着开源的韵味。对于Lime,除了满满的期待没有更多要说的了。

距现在更近的,GitHub以开源形式发布了Atom,展开了与Sublime Text正式的竞争。Atom打包了所有你想要的文件跳转,代码片段使用等特性,提供一个完整特性的编辑器而不是简单的编辑框。使用HTML,CSS和集成Node.js环境,可以轻易地定制文本处理过程,这正是它的魅力所在。这其实已经要涉及到IDE的定义了,我们的列表最多会覆盖到这里。(LCTT译注:好吧,我觉得从Sublime Text转移出来的最佳出口就是Atom。)

3. Gedit & Kate & Mousepad & Leafpad

如果不谈这些超级厉害的神器,我们可以转向我认为的“桌面环境经典版”编辑器。这些编辑器感觉上更加的传统,有些也可以用插件进行强化,但是它们的重点是输入简单。如果你头脑里有一些想法想要在忘记之前赶快记下来(我必须怪罪那些视频游戏让我的注意力变得短暂)。你不需要学习Vim或者Sublime Text的快捷键。你只需要一些空白的地方进行输入。这类编辑器的好处是它们或多或少的和你的桌面环境集成在一起。在这一类编辑器中,Gnome 下的 Gedit 和 KDE下的 Kate 都很好的集成在桌面系统中,可以通过插件进行个性化定制。比如,更容易的进行LaTeX排版。MousepadLeafpad 更适合于轻量级的桌面,比如Xfce和LXDE。它们在某种程度上很像Windows的记事本。所以,如果你需要的是灵活和便捷,请选择它们。

4. Nano & Qute

另外一个流行的文本编辑器“大家族”是“无打扰编辑器”。如果你喜欢在后台持续地开着Facebook或者Twitter,或者每5分钟就收一次邮件,你就会知道把注意力集中在那篇明天要交的散文,或者这些还没编译通过的代码是多么困难的事。如果是这样,你需要一个编辑器,它可以占满整个屏幕空间,并且屏蔽掉所有的其它事情。

也许这类编辑器里面最不受欢迎的是Nano。如果你想屏蔽所有分心的事,关掉X server(LCTT译注:关掉桌面,只用文字终端界面,Nano就是工作在这种模式下。实际上这时nano就是接管了X Server的工作。)。这是最简单和直接的方式。事实上,《权力游戏(Game of Thrones)》的作者Geogge R. R. Martin最近就在一次采访中说他使用一个类似DOS Word的文本处理程序写他的小说。

如果你想要一款更顺眼一点的编辑器,你可以试试我的最爱:Qute。没有酷炫的特性,也许有一点LaTeX排版使它开起来更美观,但是重点其实是在它的界面的。它提供了一个舒适的导航和编辑体验。如果你对终端感觉不太舒服,Qute是个不错的选择。

5. LibreOffice & Calligra & Abiword

最后,办公套件也是文本编辑器。我不确定你能否轻松使用办公套件编程,但是它确实更适合纯文本编辑,也比LaTeX更容易学习。在这类编辑器中,LibreOfficeCalligra 不能避而不谈。这两个编辑器因为它们丰富的特性和响亮的名声成为这类编辑器中的巨兽。这两者我都喜欢,但是很多人明确的偏向于前者。如果你怀念微软的Word处理软件,你会有自己的选择。稍处下风的Abiword相对前面的两个是一个轻量级的选择。如果你的目的只是编辑一个文本文档,不关心电子表格或者数据库,Abiword的特性可以达到理想的效果。

简单总结一下,如果我仅有一条建议给你,那么就是选择你周围的人正在使用的编辑器。如果因为某些疯狂的理由,每一个你周围的人都用LibreOffice写C程序,或者用Sublime Text写小说,而你也要做同样的事,你应该跟随潮流。原因就是当你遇到一个问题需要帮助的时候,他们可以更容易的给你提供帮助。

你最喜欢的文本编辑器是什么?你都用它来做什么?请在评论中和我们分享吧。


via: http://xmodulo.com/2014/06/good-text-editor-linux.html

译者:love\_daisy\_love 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

CuteMarkEd 0.9.0 是一个基于QT,免费开源带实时HTML预览的markdown编辑器,目前已经释出并已提供下载了。

CuteMarkEd是一个非常有用的Qt文本编辑器,可以提供数学表达式、代码语法高亮、和markdown语法高亮的支持。

CuteMarkEd 0.9.0 的亮点:

  • 加入了一个代码补齐系统;
  • 加入 "Go to Line" 菜单;
  • 在查找/替换功能中加入了新的"case sensitive," "whole words only," 和 "use regular expressions" 选项。
  • 支持将选中的单词加入用户词典;
  • 加入了改变tab字符宽度的选项

在官方公告中查找完整的改变列表和提升。

马上下载CuteMarkEd 0.9.0:

记住这是一个开发版本,不应该在生产机器上安装。它只用于测试目的。


via: http://news.softpedia.com/news/Markdown-Text-Editor-CuteMarkEd-0-9-0-Gets-News-Options-421082.shtml

译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

在“大数据”时代,我们会经常遇到有大文本文件(上 GB 或更大)的情况。假设需要我们手工的搜索和编辑这些大文件,或者为了解决一些特定的问题而需要手工分析多个上 GB 的日志文件。传统的文本编辑软件对处理这样的大文件不太有效,当我们试图打开一个大文件时会经常由于内存不足而郁闷的不行。

如果你是一个精明的系统管理员,你也许会用 cat、tail、grep、sed、awk 等这些命令的组合来打开和编辑一个文本文件。在这篇教程里,我将会谈论关于如何在 Linux 中打开(并编辑)一个大文本文件的更友好的方式方法。

Vim 的 LargeFile 插件

Vim文本编辑器拥有大量的插件(或脚本),它们能扩展 VIM 的功能。其中的一个Vim插件是 LargeFile 插件

LargeFile 插件可以使大文件更迅速的被加载和编辑,它是通过关闭 VIM 的一些像事件、回退、语法高亮等功能来实现的。

要在 VIM 上安装 LargeFile 插件,首先要确认是否已经安装 VIM。

在 Debian、 Ubuntu 或 Linux Mint 系统中:

$ sudo apt-get install vim 

在 Fedora、CentOS 或 RHEL 系统中:

$ sudo yum install vim-enhanced 

可以从 Vim website 上下载 LargFile 插件,最新版本号是5,下载的文件将会保存为 Vimball 格式(以 .vba 结尾)。

要在你的 home 目录下安装插件,用 VIM 打开 .vba 文件,如下所示。

$ gunzip LargeFile.vba.gz
$ vim LargeFile.vba 

在 VIM 窗体上输入 “:so %”,然后按回车键,就可以在你的 home 目录下安装这个插件了。

完成后,输入 “:q” 退出 VIM。

这个插件将会被安装在 ~/.vim/plugin/LargeFile.vim 下。现在可以像平常一样使用 VIM 了。

当在 VIM 中装载一个“大”文件的时候,这个插件起的作用就是关掉事件、回退、语法高亮等功能。默认情况下大于 100MB 的文件就会被插件认为是“大文件”。要改变也个默认设置,你可以编辑 ~/.vimrc 文件(如果不存在就创建一个)。

如要把大文件的标准最小定为 10MB 的话,可以在 ~/.vimrc 中添加

let g:LargeFile=10

虽然 LargeFile 可以加速文件装载的速度,但 VIM 自身对编辑相当大的文件支持不太好,因为它会一下子把整个文件都加载进内存。例如,用 VIM 装载 1G 大小的文件,它就会占很多内存和交换空间,如下图所示的顶部输出。

所以如果你的文件明显大于你 Linux 系统的物理内存的话,就要考虑其它的选择,如下所述。

glogg 日志资源管理器

如果你只需要查看一个文本文件,并不对它做编辑,可以考虑下 glogg。它是一款基于图形用户界面的独立日志分析器。这个 glogg 分析器支持通过正则表达式和通配符来对要打开的文本文件进行过滤和筛选,使用户只看到其真正关注的内容。

在 Debian (Wheezy 版本或更高版本)、Ubuntu 或 Linux Mint 系统中安装 glogg : 

$ sudo apt-get install glogg 

在 Fedora (17 版本或更高版本) 系统中安装 glogg :

$ sudo yum install glogg 

用 glogg 打开文本文件 :

$ glogg test.log 

glogg 能很快的打开一个大文本文件。我花了大约 12 秒就打开了一个 1G 的日志文件。

在 "Text" 区域,你可以输入正则表达式,然后点击 "Search" 按纽,它支持表达式大小写敏感搜索以及自动刷新功能。搜索后,在窗体底部会显示出筛选的结果内容。

从装载文件来跟 VIM 对比, glogg 显得更轻量级,在加载完一个 1G 的日志文件后,它仅仅只使用了 83M 的物理内存。

JOE 文体编辑器

JOE 是GPL下发布的一个轻量级的基于终端的文本编辑器。JOE 是一款少有的支持大文件的文本编辑器,可以打开和编辑比物理内存大的文件。

此外,JOE支持各种功能强大的文本编辑功能,如非破坏性编辑,用正则表达式搜索和替换,无限次的撤销/重做,语法高亮等。

在 Debian、Ubuntu 或 Linux Mint 系统中安装 JOE:

$ sudo apt-get install joe 

在 Fedora、CentOS 或 RHEL 系统中安装 JOE:

$ sudo yum install joe 

要打开编辑文本文件,请运行:

$ joe test.log 

相比上面提到的 glogg 来说,用 JOE 加载一个大文本文件会有点卡,加载一个 1G 的文件要用将近 30 秒的时间,不过考虑到要对文件进行全文编辑,这还能忍受。一旦文件加载完成,就可以在相当快捷的终端模式中编辑此文件。

JOE的内存消耗令人印象深刻。加载并编辑一个1GB的文本文件,只花费47MB的物理内存。

如果你还知道在 Linux 中打开/编辑大文本文件的其它方法的话,请跟我们分享!


via: http://xmodulo.com/2013/12/open-large-text-file-linux.html

译者:runningwater 校对:jasminepeng

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Leadwerks是一个多用途游戏开发应用,现在正在往Linux上移植以便于在Linux(Ubuntu)上开发原生游戏。

数月前,Leadwerks在kickstarter平台上发起了一个众筹项目,以便于集资给这个游戏创建工具增加Linux平台支持,项目目标包括成功达到预定的集资目标和放出leadwerks的beta版。

在它的官网上,Leadwerks的开发者贴出了一张有 leadwerks 3.1 运行在Ubuntu上的图片。图片显示,它有着原生的外观和感觉,而且和桌面进行了恰当的集成,这些成就明显的推动了仍在开发中的leadwerks在Ubuntu上的可用性。这是Leadwerks真正运行在Ubuntu上的第一张截图!尽管仍然还有许多工作要做,但是看到它确实已经可以运行在Ubuntu上了,无论怎样,这真的是一个大的里程碑。我们使用GTK,所以Leadwerks的Linux版的外观和使用的感受和Linux原生应用一样。

伴随Leadwerks而来的特性有快速迭代(可通过导入先前代码,在代码水平和架构上构建),单一顶层设计的多种实现方式(无需额外的工具),以及软件使用当前主流标准(C++和Lua)构建


via: http://iloveubuntu.net/game-editor-leadwerks-31-demoed-running-ubuntu-native-look-feel

译者:Linux-pdz 校对:校对者ID

本文由 LCTT 原创翻译,Linux中国 荣誉推出