Linux, emacs難以割捨的情結,單位使用的是win + vs,怎麼辦?

很喜歡linux,在學校用了好幾年的linux了,狂熱喜歡搗鼓emacs,幾乎自己所有的事情都在emacs 辦了, 聽歌,寫代碼,寫博客...特別喜歡Linux下各種命令工具,windows一直只是用來玩玩遊戲而已的,現在進了一家遊戲公司,用的是vs做開發....對Linux難以割捨啊....各路大神,怎麼看....

---問題補充:

之前表達得不準確,提這個問題,主要是有兩點:

一是想看看大家是怎樣去處理這種矛盾的,希望能學到點經驗,而不是來討論平台或者工具的,優劣性。

二.是希望經驗的朋友能夠介紹一些解決工具給我參考,比如有朋友提到的winscp,cygwin這些工具。

綜上,我是想解決這個矛盾,不管是心理上,還是從技術層面上,我也相信,我能夠解決這個矛盾的。


遊戲的前端,如果用 Windows 的,肯定是 VS 啊,這個跑不掉的。

象你這樣,其實。我給你的建議是申請去做後台。因為後台一般會是 Linux。比方說騰訊遊戲的後台伺服器就是。

所以,要解決的還是你的工作本身。要麼換個工作,要麼換個崗位。


沒人攔你用 Emacs 編輯代碼吧。記得把換行符啊縮進設置正確,別給其它組員添麻煩。

另:Emacs emulation extension


雲風就用linux寫遊戲伺服器端啊,要不你跳槽過去吧,好像是在廣州,我華南皇家理工大學的門口。


我來說說解決辦法. 我自己是習慣在 Linux 下用 Vim 的. 後來到了微軟實習, 只能用 Windows + VS 了.

首先解決編輯器的問題, 這個很簡單, 在VS裡面裝一個對應的插件就是了, 和原生的 Vim 比起來的話, 使用感受還是很相似的, 連宏錄製都有, 夠用了. 不過還缺了一點 -- 命令行, 下面來解決這個問題.

你需要兩塊屏幕, 一塊用來開 Windows, 然後在 window 下面裝一個 Linux 虛擬機, 另一塊屏幕就用來顯示虛擬機裡面的 Linux 了. 然後設置好共享目錄共享之類的東西, 就可以在Linux虛擬機裡面操作 Windows 下面的文件了.

到此為止, 你已經實現了 Linux + Emacs(Vim) 功能的超集, 應該滿意了吧.


為了在linux上做得舒服,付出了巨大的學習成本學會了vim emacs 各種命令這一套東西,突然在工作環境中用不到了,會有一種失落感,心有不甘吧,還失去了一些與眾不同、標新立異的點。其實想開點吧,vs的圖形化、高級和方便也不是罪,也很好用的。


在Linux下寫代碼到Windows下編譯就是了,幾年前偶爾寫點Windows代碼的時候我都是這麼搞的。Linux上裝個虛擬機跑Windows和vs這些開發環境,在host上寫代碼,寫好了同步過去編譯,出錯了host改。我記得winscp還是什麼東西的在兩邊同步代碼還算比較方便的。


不是說 Emacs 可以各種自定義各種牛逼配置,號稱神馬神的編輯器嗎?

直接用 Emacs 搭建個環境,寫完代碼用自定義的快捷鍵/配置……噌……噌……噌,biu 的一下就編譯完了呀。

話說,當年我學C井的時候,都是記事本寫好了然後在 cmd 里 csc 編譯再運行的哦。

Emacs 這麼牛逼的神器應該比 notepad 強多了吧!

我記得 Emacs 有 Windows 版本的。(說實話,這貨挺傷手指的,所以還是編輯器,即便是被神使用,不像 VIM 是編輯器之神。)

不過,操作系統就不好弄了,如果題主用的是 VB/VB .NET/C井/F井 之類的話,用 Mono 也不如在 Windows 下的快感來得強烈啊……

參考鏈接:

http://www.microsoft.com/en-us/download/details.aspx?displaylang=enid=13107


我建議樓主讀一下王垠巨巨的《編輯器與IDE》

http://www.yinwang.org/blog-cn/2013/04/20/editor-ide/

看了之後我想樓主能更容易接受IDE一些,我再結合一下我自身的經歷來說吧。

我是大四狗,尚未工作,經驗應該比樓主少很多。不過有過實習和自己寫項目的經歷。

我在做第一份實習的時候,是參與開發類似Storm的流計算服務。操作系統是RHEL,用C++和vim寫代碼。當時我已經有兩年的vim和Linux使用經驗了,可以說用起這些工具得心應手。一開始的工作是用Lua,Python寫一些小工具,感覺挺爽。後來要為服務添加一些feature,就要閱讀代碼。當時整個服務的代碼量已經達到10幾萬行了,很多類抽象出很多層,有時候一個函數也寫得很長。一開始我是藉助ctags這樣的插件,後來發現ctags只能完成全局的文本匹配,而不能正確理解語義。所以整個過程進展的很慢,如果有vs這樣的商業工具,可以幫你自動「分析」程序,效率自然就很高了。

優秀的成熟的工具,幾乎都離不開商業驅動。比如IDE類似RubyMine,Eclipse,Intellj IDEA,比如號稱有世界上最快文本引擎的Sublime Text。有的是免費的,但是他們幾乎都不是開源的。企業級的應用和獨立開發者的產品終究是有區別的。希望樓主能意識到這一點,放下對IDE的偏見,才能讓自己的水平更上一層樓。


相比Linux emacs,Win+VS的學習成本很低。如果這都適應不了,樓主還是不要當碼農了。

話說的有點刻薄了,罪過,罪過

主要是想說不要因為自己的偏好影響對待工作的態度,畢竟這個世界上沒有什麼工作能夠完全符合自己的興趣


windows下也有emacs/vim啊,linux命令行也可以用cygwin來搞定嘛


換一份工作吧。

現在用Linux + emacs/vim 寫C++的公司有很多,

而且工資也高。


辭職,就醬


想起了一句改變了我一生的話,送給題主。不要把興趣當職業!


不爽到影響開發了,就跳。或者讓老闆給你開個你覺得值得你忍著心情給他打工的工資。


工具是為了解決問題出現的,只要能解決好問題的就是好工具。

不要做工具的俘虜。


這麼愛就辭職,何必無病呻吟


看了ls各位大神的評論,各有自己的角度,但如果我是LZ的狀況,當初面試問面試官用win開發的話我就不會領這個offer~不要說什麼真正的大牛沒有什麼平台的限制,win和linux都是一樣的這類的bullshit,如果自己是真感興趣,那肯定會選用自己最喜歡的平台,否則那是只為了工資過活嗎?也有人說興趣和工作是要分分清楚的,但這又是不同的兩類人的不同選擇,反正我如果不幹自己真正感興趣的事兒我真的干不好,但我不是極端的那種yy社會適應我的偏激分子,我認為,自己的工作是可以在某種程度上轉換為自己喜歡和感興趣的,至少目前我都轉換比較成功,沒有耽誤老闆交代的任務,自己也很開心~

但我對技術就是很偏激,我電腦的唯一系統是linux,不喜歡java(但我很敬佩會java的人,請輕拍~),老闆曾給我個做android應用的活,但我不喜歡java,所以不會碰的,但我還是把活交差了,因為android支持交叉編譯的c,而且這樣不是一種妥協,而是必須,因為要用視頻編解碼的庫,用c交叉編譯的程序的執行效率比原生java不知高了多少,所以我找到了這個優點,轉化成自己感興趣的,完美交差皆大歡喜,這不是很好嗎?

最後總結下,這是我回答篇幅最長的一次,因為我感受到LZ和我是一類人:對技術偏激但不激進,對生活富有激情因為要不斷滿足自己的求知慾而不是別人的要求,這類人為數不少,我熱愛linux,熱愛vim,熱愛python,熱愛機器人,雖然我是碼農,但我焊過QFP封裝的貼片IC,我可能註定成為不了top coder,但我為自己的興趣而生,我為自己代言。


是人在用工具,不是工具在用人。


工作是工作,愛好是愛好。


我想你被那些vim,emacs,命令行編程的文章鼓吹的有些看不起ide了吧……呵呵。我的看法是與其花很多時間在這些工具的熟練上,不如把這些時間花在程序設計能力的精進上。你會發現ide的價值,程序員的時間是多麼寶貴啊!


Cygwin + gVim 走起,我就是這麼乾的,而且持續3年多了


https://github.com/idf/EmacsEverywhere


推薦閱讀:

Linux下C/C++動態庫在運行時是怎樣載入進來的?
為什麼 Linux 沒有註冊表?為什麼說註冊表是萬惡之源?
Linux Kernel 4.0 中的 live patching 是如何實現的?
如何用c++監控windows和linux文件夾中文件的變化,有沒有什麼api可以讓系統在保存文件的時候通知程序?
如何學會使用 Linux 操作系統?

TAG:Linux | Windows7 | Emacs | VisualC |