軟件開發工具集
Sublime Text
參考資料:
- Setting up Sublime Text for Python development
- Sublime Text 2 Documentation
- SublimeREPL, Github - SublimeREPL
- colorsublime
- Package Control </ul>
- 跳到行尾:shift + a, 跳到行首:shift + b
- 刪除N行:N + d,復制N行:N + yy
- 跳到最后一行:G,跳到第一行:gg
- 剪切:dd,粘貼:p
- vim + ctags:
- Ctrl + ]自動跳轉至定義;
- Ctrl + t返回上一次查看位置。
- 塊操作:
- ^→ 到行頭;
- <C-v>→ 開始塊操作;
- <C-d>→ 向下移動 (你也可以使用hjkl來移動光標,或是使用%,或是別的);
- I-- [ESC]→ I是插入,插入“--”,按ESC鍵來為每一行生效。
- Vundle(插件管理)
- vim-javascript(JavaScript語法高亮與自動縮進)
- The-NERD-Tree(文件系統樹狀瀏覽窗口)
- vim-markdown(Markdown格式高亮)
- awk.vim(awk代碼自動縮進)
- jedi-vim(Python代碼自動完成,對jedi自動完成庫的vim綁定)
- pep8(檢查Python源碼是否符合PEP8風格)
- vim-gitgutter(A Vim plugin which shows a git diff in the 'gutter' (sign column). It shows whether each line has been added, modified, and where lines have been removed.)
- jshint.vim(jshint的vim前端插件)
- vim-powerline(實現更美觀、功能更多的vim狀態欄)
- molokai(Molokai Color Scheme for Vim)
- vim-monokai-refined(Port of Monokai Refined for TextMate/Sublime Text)
- indentLine(縮進線)
- vim-css-color(css顯示顏色值代表的顏色)
- vim-golang(go代碼高亮、自動縮進等)
- Pro Git
- Git Community Book
- Git Internals
- Git Reference
- Beamer theme gallery
- beamer-theme-matrix
- 如何準備演講(beamer版)
- Beamer演示學習筆記
- A Beamer Quickstart
- moderncv的筆記
- The LaTeX Font Catalogue
- GnuPlot
- Asymptote
- MetaPost
- VIM / Sublime Text / StackEdit(Markdown文本編輯)
- InteliJ IDEA(Golang)
- JetBrains PyCharm(Python)
- JetBrains PhpStorm
Zend Studio(PHP) - CodeBlocks(C/C++)
- Racket(Scheme)
- Wappalyzer(Chrome、Firefox插件,用于檢測網站所使用的技術,非常贊)
- TeXstudio(Latex)(算開發工具么?)
- Git/SVN(源碼控制),SourceTree(free Git & Mercurial client for Windows or Mac),ungit
- jshint(JavaScript代碼檢查命令行工具)
- virtualenv(Python虛擬環境)
- IPython(可在virtualenv虛擬環境中通過pip install ipython安裝使用)
- ack/codequery(代碼搜索工具)
-
(置頂)命令行樂園
-
查看所有庫/模塊的docstring:python -m pydoc -p 8080
-
Linux中查看當前所有的資源限制:ulimit -a;設置內核可以同時打開的文件描述符的最大值為2048:ulimit -n 2048
-
使用HTTP/HTTPS協議push大文件時失敗,提示RPC failed; result=22, HTTP code = 411,可能是因為Git默認post數據buffer比較小,需要自己設置下:git config http.postBuffer 524288000 #Set to 500MB
-
當git不支持https協議時,可以通過禁用SSL認證來繼續使用:git config --global http.sslVerify false
-
Git簽出某個tag的代碼:git checkout -b branch_name tag_name或git checkout tag_name或git checkout tag/tag_name
-
Ubuntu為Firefox安裝Adobe Flash插件:sudo apt-get install flashplugin-installer
-
從某網卡上刪除綁定的ip:ip addr del 192.168.2.201/32 dev eth0
-
圖片縮放、格式轉換等:convert
-
Linux上如何刪除文本文件中來自Windows的CRLF(^M)的換行符:dos2unix filename
-
Windows命令行下查看本地路由表:route print
-
系統監控工具:Glances,可以監控本機也可以通過客戶端服務器模式監控其他機器;Glances提供了基于 XML/RPC的API便于其他程序調用,可編程;Glances可以將數據輸出保存到csv或html格式的文件方便其他程序處理(報告或繪制圖形)。 Glances是用Python開發的,使用psutil庫來采集系統數據,在用戶的終端上實時動態的顯示重要的系統數據和變化。顯示的數據包括:CPU、內存、磁盤、網絡等使用情況,內核、運行隊列、負載、I/O 狀態、消耗資源最多的進程等等。
-
修改文件編碼:iconv -f encoding -t encoding inputfile
-
查看防火墻設置(包含防火墻規則綁定的網卡):iptables -nvL
-
使用一行python命令查看/解壓縮/創建zip文件:1.查看 -python -m zipfile -l test.zip, 2.解壓縮 -python -m zipfile -e test.zip test, 3.創建 -python -m zipfile -c release.zip *.py
-
查看所有用戶的crontab任務(root權限執行):for user in $(cut -f1 -d: /etc/passwd); do echo "### Crontabs for $user ####"; crontab -u $user -l; done
-
刪除當前目錄下大小為0的文件,且不進一步遞歸查找:find -size 0 -prune -exec rm {} \;
-
從命令行使用HTTP協議做測試的強大工具:cURL,參考 9 uses for cURL worth knowing
-
追蹤命令執行過程中的系統調用和信號:strace
-
CPU/磁盤/網絡等系統資源統計工具:dstat(很好很強大,可替代vmstat,iostat,ifstat)
-
查看PHP會動態加載的擴展模塊:php -m
-
遞歸查找當前目錄下所有名為test.txt的文件:find ./ -name test.txt
-
Windows上查看端口占用情況:netstat -ano
-
查看LINUX發行版的名稱及其版本號的命令:1.cat /etc/issue;2.lsb_release -a;3.cat /etc/redhat-release(針對redhat,Fedora)
-
ack-grep --- 比grep更好用的搜索工具,專為程序員優化
-
禁用觸摸板:sudo rmmod psmouse,開啟觸摸板:sudo modprobe psmouse
-
將man手冊轉換為pdf格式打印出來閱讀,如直接將man命令的手冊頁轉換為pdf格式:man -t man | ps2pdf - > man.pdf
-
顯示進程樹:pstree
-
更新Python第三方軟件包:pip install -U [package_name]
-
從命令行安裝.deb文件:sudo dpkg -i package.deb
-
打印環境變量:printenv
-
查看通過USB接口連接的硬件:lsusb
-
查看已安裝的軟件包:dpkg --get-selections
-
由大到小輸出home目錄下的所有文件(遞歸的):du -a ~/ | sort -n -r | less
-
每隔x秒執行命令command,顯示輸出:watch -n [number_of_seconds] [command]
-
監聽來自端口的網絡輸入,存入文件中:netcat -l [recieving_port] > file_copied
-
將命令的輸出通過管道經網絡傳遞給目標ip端口:[command] | netcat -w [number_of_seconds_before_timeout] [target_ip] [target_port]
-
使用tar壓縮文件并將文件作為流輸出,通過管道經網絡傳遞給目標ip端口:sudo tar -czf - [filename] | netcat -w [number_of_seconds_before_timeout] [target_ip] [target_port]
-
traceroute:查看到目標機器/ip的網絡路由,如traceroute www.google.com.hk
-
nmap:掃描機器檢查開放的網絡端口,如nmap 127.0.0.1---掃描本地機器的開放端口
-
tee:在標準輸出顯示的同時輸出到文件,如ls | tee ls.txt
-
顯示軟件包的詳細描述信息:apt-cache show [package_name]
-
ls按文件名逆序輸出結果:ls -r;遞歸遍歷目錄:ls -R;按時間順序:ls -t,按時間逆序:ls -tr;按文件大小排序:ls -S。(默認按文件名排序,-r表示逆序,-t表示按時間排序,-S表示按文件大小排序,-h表示以方便人閱讀的形式輸出)
-
系統負載監控:top/htop/nmon
-
查看所有進程:ps -e或ps aux,另外可通過ps -e | grep name來模糊查找是否存在特定進程
-
根據進程名終止進程:sudo pkill process_name
-
以樹狀分支羅列目錄內容:tree [dir_name]
-
大數據傳輸:1.scp -P remoteport username@remoteip:remotedir localdir或scp -P remoteport localfile username@remoteip:remotedir;2.scp之外可以使用命令組合:gzip -c /home/xiayf/data | ssh username@ip "gunzip -c - > /home/xiayf/data"
-
ping ip -f:持續不斷地ping某臺服務器(泛洪?),可能會ping死那臺服務器
-
重裝Ubuntu,一個個安裝程序太麻煩,可先在原來的Ubuntu上執行dpkg --get-selections|awk '{print $1}' > o.txt導出一個所有已安裝程序的列表,然后就可以一鍵安裝了:cat o.txt | xargs sudo apt-get install
-
打包后,以 gzip 壓縮:tar -zcvf /tmp/etc.tar.gz /etc;打包后,以 bzip2 壓縮:tar -jcvf /tmp/etc.tar.bz2 /etc
-
在Linux系統下, 可以用一個命令很容易批量刪除.svn的文件夾:find . -name .svn -type d -exec rm -fr {} \;
-
查看當前正在監聽的網絡端口:lsof -i或者netstat -tlnp
-
linux下查看某目錄占用的空間大小:du -h -s或du -h -s /* | sort
-
python內嵌的簡單便捷HTTP Server:python -m SimpleHTTPServer Port
-
Python命令行美化輸出json數據:python -mjson.tool json_filename或者通過管道some_cmd | python -mjson.tool,也可以直接在命令行使用雙引號包圍一個json數據字符串來替代json_filename的位置。而且,如果你安裝了 Pygments 模塊,可以高亮地打印JSON:echo '{"json":"obj"}' | python -mjson.tool | pygmentize -l json。
-
保存某個virtualenv中已安裝的package列表,并在另一個virtualenv中原樣恢復:1.(some_env)$pip freeze > requirements.txt; 2.(another_env)$pip install -r requirements.txt
VIM
配置文件:https://github.com/youngsterxyf/mydotfiles
快捷鍵
插件
資料
spf13-vim - The Ultimate Vim Distribution
Practical Vim: Edit Text at the Speed of Thought
100 Vim commands every programmer should know
Git
書籍:
Latex
Beamer
繪圖語言與繪圖工具
開發工具
命令行工具與解決方案
日常使用工具
桌面環境:KDE
Shell:zsh + oh-my-zsh Bash + powerline-shell
輸入法:Fcitx + Google拼音,ibus拼音
KX上網:Goagent + Chrome插件SwitchySharp或Firefox插件AutoProxy
命令行窗口復用:tmux + tmux-powerline
圖形化Web瀏覽器:Google Chrome/Firefox
命令行Web瀏覽器:lynx
終端:Terminator
截屏:KSnapshot
虛擬機:VirtualBox
屏幕錄像:XVidCap
音頻播放器:Songbird/深度音樂播放器/Audacious/cplay
視頻播放器:VLC/MPlayer/SMPlayer/深度影音
翻譯:Google Translate/有道詞典chrome插件
圖片瀏覽:GPicView/Shotwell
數據統計圖命令行繪制工具:GnuPlot
PDF閱讀器:Okular(支持EPUB格式)
BT下載器:Transmission
FTP客戶端:FileZilla
RSS閱讀:Akregator/Google Reader
Email閱讀:Thunderbird/Gmail
即時通訊(GTalk/MSN):Pidgin/KDE IM Contacts/WebQQ
辦公套件:WPS office LibreOffice
日程管理:Trello(Chrome插件+Andriod應用)
思維導圖:XMind / Docear / www.mindmeister.com / www.wisemapping.com
原型、系統結構圖:Lucidchart
數據備份同步:Dropbox(+Andriod應用)(注:linux下安裝使用Dropbox)
文檔記錄與在線編輯:Evernote(+chrome插件Web Clipper+Andriod應用)/Google Drive/Readability(僅可記錄閱讀,Chrome插件+Andriod應用)
mRemote(支持多種協議-RDP、SSH、VNC、Telnet、HTTP/HTTPS等,但我用來訪問Windows服務器遠程桌面)
Xshell(遠程訪問Linux服務器)