ubuntu下有沒有原生支持中文顯示和語法高亮的代碼編輯軟體?

在win平台下用notepad++,感覺該有的都有了,在ubuntu下用過notepadqq,sublime text,gedit,不是中文亂碼就是不支持語法高亮,難道就沒有notepad++那樣不需要折騰的編輯器嗎?

5.2晚補充:

起因:題主看了那個oranges系統設計,於是毅然決然開始用ubuntu的,想想自己平時各種電腦問題都遇見不少,windows也玩的66的,肯定不會有什麼大問題嘛。( ̄︶ ̄)↗

過程:首先得解決的是代碼編輯問題,題主心想得找一款最好的編輯器才行哇,一開始默認gedit,asm文件打開,無語法高亮也沒有行數表示,然後題主想想這個鬼估計是個ubuntu下的notepad(─.─|||。遂百度ubuntu代碼編輯軟體。瀏覽得一神器-vim,馬上安裝了它,然後命令行一輸:vim,命令行直接變成了程序界面,題主當時就凌亂了,敢情這貨沒有圖像界面?繼續百度,發現神器還附帶了一個gvim,題主興沖沖的打開gvim,亂碼這個魔鬼開始纏著題主了,居然連中文都沒有,立馬刪之。

百度,咦,這個atom好像很好嘛,界面也很漂亮,好,就是你了,題主開心的安裝好它,然後一打開又是一堆亂碼在沖我招手,Orz。

我再找!好,這次又找到了一個神器Sublime,:-D。我裝裝裝,又過了幾分鐘,打開一看,還是熟悉的亂碼,還是熟悉的味道,題主這下明白了,敢情就沒有一個原生支持中文字符集的編輯器嘛!

好,題主開始百度xxxxxxx中文亂碼,嗯,好像不是很難,裝幾個插件嗎,我裝裝裝裝,裝完了,提示xx插件不準確,GBKxx插件缺失,請安裝codecs26,請參閱網址xxxxxx(原文為英文)●▽●。喂,導演,是不是哪裡有問題啊,這劇情明明不對啊!題主繼續怒刪之。

想想win平台下的notepad++不是挺好用的嘛,百度notepad++ ubuntu,咦,有個好東東,linux下的notepad++,notepadqq!哇,名字這麼相似,一定很nb吧,裝裝裝!打開,熟悉的亂碼老朋友好久不見了,(+﹏+)~狂暈,百度notepadqq 中文亂碼,蹦出一堆不相關的結果,敢情這貨連個解決方案都沒有嗎?

最後,題主懷著疲憊之軀發現了gedit,咦,這不是題主一開始用的嗎?果然高手還是隱藏在不起眼的地方啊,好就你了,題主百度解決了行數問題,又百度了語法高亮,得:複製一大堆字元,生成一個文件,放入某文件夾,好,一種語言高亮了,一種。。。。,天真的題主此時並沒有發現下方的語言選擇按鈕。

結果:3個小時就這樣過去了,題主直接被嚇得到知乎上提了這個問題,尋求一下安慰。("▔□▔)/

ps:1.題主算是第一次接觸ubuntu吧,感覺這門檻確實挺高的,好多命令啥的都是百度加理解這樣過來的。

2.題主有點疑惑為什麼win平台對中文的支持這麼好,而ubuntu這麼麻煩呢?

3.題主已經知道設置語言來設置高亮,然而sublime和gedit並沒有assembly language的選項,求知道的各位能告訴一下怎麼設置彙編語言高亮(~﹃~)~。

4.吐槽:第一次這麼多人回答的問題是程序問題,果然知乎是遍地程序猿╰( ̄▽ ̄)╮

以上。


這個問題必須要回答一下!個人覺得Ubuntu真的很爽很炫酷!!

先祭兩張我的 Vim 的截圖:

很炫酷有沒有!

題主說到編輯器的問題,Ubuntu 下我現在主要用的編輯器是 Vim,偶爾也用 Sublime Text;主要用的 IDE 是 Webstorm。

既然如此炫酷的 Vim 圖都出來了,那就先從 Vim 說起。

1. Vim

首先透明界面看起來就很高端,而且娛樂工作兩不誤,除了可以一邊聊天一邊寫代碼,還可以一邊寫代碼一邊看是視頻。這個透明是 Ubuntu 的 Terminal 自帶的透明。設置在 Terminal 的菜單裡面:Edit -&> Profile Preferences -&> Background ,在這裡開啟透明就可以了,還可以自定義透明度。

然後是 Vim 的配置,包括配色和插件。對於剛開始使用 Vim 的新手,極力推薦一個 Vim 擴展 spf13/spf13-vim · GitHub,支持 Linux、Mac OS、Windows 各個平台,集成了大部分常用的 Vim 插件比如括弧補全、目錄樹、語法高亮等等等等,直接一個命令就安裝了,非常方便,裡面也自帶了上百種 Vim 的主題,隨便你選。安裝命令如下:

curl https://j.mp/spf13-vim3 -L &> spf13-vim.sh sh spf13-vim.sh

它的默認主體就非常漂亮,唯一不太好是普通字元串是灰色的,這樣在 Terminal 開啟透明之後灰色就看不大清。於是我自己寫了 Vim 主題的配置文件,如上圖,個人覺得真的很美哈哈哈。

Vim 剛開始的時候可能不習慣,用多了就好了。推薦一篇個人認為非常不錯的 Vim 入門教程 簡明 Vim 練級攻略

2. Vimium / Vimperator

出於將 Vim 進行到底的原則,再推薦兩個瀏覽器的 Vim 插件,熟練後徹底解放滑鼠!

Vimium 是 Chrome/Chromium 的 Vim 插件;Vimperator 是 Firefox 的 Vim 插件。基本使用方法,就和Vim差不多。更高級方法,安裝後再慢慢探索吧=.=

3. Sublime Text

接下來再說說 Sublime Text ,這是一款非常好的編輯器,在我以前使用 Windows 的時候是我的主要編輯器。曾下載過 Notepad++,但使用了幾天就拋棄了,並不是我喜歡的風格。Sublime Text 非常輕,打開速度很快,不像 IDE 需要好兩三分鐘,而且Sublime Text 主題和插件也非常非常豐富。

關於亂碼問題,我想十有八九是以前使用 Notepad++ 或者 Windows 記事本之類的編輯器寫了文件,然後在 Ubuntu 下直接用 Sublime Text 打開。其實就算是在 Windows 下用 Sublime Text 打開這些文件,以就會亂碼。因為Notepad++ 或記事本默認的中文字元編碼是 GBK ,而 Sublime Text 默認的字元編碼是 UTF-8,編碼不一樣,打開當然亂碼。

如何解決亂碼問題?安裝個轉碼插件: convertToUTF8 , 問題就解決了。

4. Linux 下 Sublime Text 無法輸入中文的問題

亂碼問題其實不是問題,不能輸入中文才是問題。當然,如果用英文寫注釋神馬的就不必考慮這個問題了...

解決辦法可參考我之前寫的一篇文章:解決Ubuntu下Sublime text3無法輸入中文的問題

包括Phpstorm、Webstorm、Netbeans 眾多 IDE 也很可能會遇到無法輸入中文的問題。這應該和 Ubuntu 下 JRE 中文字體設置有關以前簡單研究了一下,在IDE的配置文件中的字體路徑中,根本就找不到字體,自然也就無法輸入中文。如果系統沒有中文字體就需要自己另外安裝字體,手動引入字體。

5. Remarkable

這是一個寫 Markdown 的一個編輯器,非常不錯,寫完之後還可以直接轉成 pdf 。想我之前在 Windows 寫好了還得轉成 HTML 再用 Chrome 打開後再將網頁轉換成 pdf,而且 chrome 在保存 pdf 的時候還不支持加粗,也是艱難。

當然,也還有一些很好的工具可以直接將 Markdown 轉 pdf,但好用的一般都要收費,這個軟體免費-。-

6. 其他

為了湊數,再推薦一些其他小工具。

截圖工具:Shutter。Ubuntu自帶的截圖工具只能截圖不能編輯,Shutter有編輯功能,當然也都可以自定義一些快捷鍵。

傳文件工具:Telegram。其實 Telegram 是個通訊工具,但我個人在使用過程中用來手機電腦互傳文件的時候居多。Telegram 跨平台,有Linux、Mac OS、Windows、Android、iOS等等還有網頁版,各個平台消息即時同步,支持各種附件,用來傳文件真的很爽,比 QQ 方便多了!

還有就是 Ubuntu 的 Workspaces 也很實用,可以模擬四個桌面,而且切換桌面的效果也特別炫~

在 Ubuntu 14.04 之後 Workspaces 是默認關閉的,可以在 System settings -&> Appearence -&> Enable workspaces 開啟。然後可以使用快捷鍵 Super + s 切換桌面。

最後, Linux 就是要多折騰,折騰!


vs code

卧槽,輪子哥贊了我,不行,讓我靜靜…


我就沒遇到過不支持的。。。當然有些東西你需要稍微 tweak 一下


你說的這三個都有高亮和中文支持啊,中文亂碼是因為編碼問題罷了,你看看頂上標記了編碼方式的能錯?

推薦學習一下中文編碼問題,了解一下cp936和utf8至少。

----------

補充一下,win平台的中文支持也不太好,同樣是編碼問題。*nix下默認多國語言用utf8,windows下默認cp936(gbk大家族)。你用windows下的很多軟體去打開一個utf8編碼的軟體照樣亂碼。當然有些軟體做了一些編碼自動識別,但是實質上只是猜測編碼,因為部分語言編碼系統是有重合的(當然如果只考慮中文的話倒是沒有問題)。linux允許在文件的第一行通過注釋的形式標註編碼以保證大多數軟體對編碼的確認和識別,這已經是一種習慣性做法了,所以linux下做相關自動識別的軟體很少。

關鍵是你用到的很多帶中文的文件來自於windows下的未做編碼方式設置的編輯器,默認就是cp936,也沒有標明,所以拿來隨便哪家linux下都會亂碼。

可是我印象中gedit是會猜測編碼集的。之所以無法分辨可能是因為沒有裝完整的語言環境?

至於asm高亮,gedit也好sublime也罷vim也是,都是需要插件支持的…


你為什麼要在linux下面追求不折騰,一點開源精神都沒有!


別折騰了,還是用windows吧。

中文不亂碼了,中文字體顯示支持的也不好。

有些windows下好用的工具找不到同樣好用的或者可以替代的。


你給 (g)vim 喂個要猜的 encoding 列表不就好了。這種事情百度都找得到。(要不要我再告訴你 Debian 系發行版 /usr/share/vim/vimrc 裡面有一堆默認為了兼容性而注釋的好用到爆的選項?)

另外 UTF-8 多好,到處跑都無壓力,包括 VS Code。

仿寫一段:

用 Windows 還指望編碼不折騰,真是太沒有…


本身就支持啊!!!

顯示亂碼是因為編輯器用默認UTF8去解析其他奇怪編碼了啊!!!

gedit sublime 各種都支持啊!!!

寫代碼我推薦sublime啊!!!


我在ubuntu 14.04和14.10下都可以用gedit正常打開有中文的utf8格式的文件,你的可能是gbk,用 gedit --encoding=GBK 試試。

還有一些工具可以直接講gbk編碼的文件轉換為utf8的,支持批量操作。

sublime text也有插件搞定gbk顯示,linux下的中文輸入百度下也有解決辦法但貌似不是很完善。

如果接受上面的觀點,題主需反省自己!


emacs,從沒用過第二款編輯器,沒遇到題主說的亂碼,語法也都能高亮顯示啊


用vim,裝上bundle和youcompleteme,各種炫酷


樓主我告訴你個秘密,wine可以完美運行notepad++


gedit怎麼不支持了╭(°A°`)╮

你是說中文亂碼?

沒有啊。很正常啊。


zsh搞定


編碼都不看,你碼什麼?我怎麼沒遇到亂碼


必須的vim,你要是用sublime輸入中文也不難。網上搜一下就有解決方案。幾步就完成。


一直在用vim感覺很舒服的說,簡單 粗暴!

不匿了


emacs


geany 神器

輕度用戶的福音


自帶的gedit就可以,preference里還有好多代碼補全,直接調用終端之類的功能。


推薦閱讀:

下面的代碼什麼意思?
如何在一份垃圾代碼上修改出優秀代碼?
對你影響最深的編程書籍是哪一本?
寫代碼導致晚上睡不著怎麼辦?

TAG:程序員 | Linux | Ubuntu | 代碼 |