Ubuntu开发环境配置

每次电脑切换都需要重新装一次系统,重新装系统后还需要安装各种各样的工具。如果每次都到网络上搜索工具的安装方法,就要浪费一大笔时间。这里把我常用的工具的安装方法分享出来。

Shell

zsh & oh-my-zsh

配置oh-my-zsh之前要先安装Git

sudo apt-get install zsh
sudo apt-get install git
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

之前记得切换shell使用 chsh 命令。但是最近版本的ubuntu总是需要输入一个密码,然后出一个错误,没有查出如何解决这个问题

chsh: PAM: Authentication failure

所以,这里使用了一种比较暴力的解决办法,直接修改用户的配置。

sudo vim /etc/passwd/

找到自己的用户名,把shell对应的一列该成自己需要的shell。 查看机器上shell路径的办法:

cat /etc/shells

Guake

sudo apt-get install guake

vim

sudo apt-get install vim-gnome

vundle

git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

Colors:

git clone https://github.com/tomasr/molokai ~/molokai
cp molokai/colors/molokai.vim ~/.vim/colors/
sudo rm -r ~/molokai #  复制出来就删除吧

Config:

" 配色
colorscheme molokai

set t_Co=256

"显示行号
set number

"制表符为4
set tabstop=4

"软制表符为4
set softtabstop=4

"缩进空格数为4
set shiftwidth=4

" 设置自动缩进,即每一行与上一行的缩进相等
"set autoindent

set expandtab
%ret! 4

"设置C/C++语言的自动缩进
set cindent

"""""""""""""""""""""""""""""""""""
" Tag list ctags
""""""""""""""""""""""""""""""""""
map <C-F12> :!ctags -R --c++-kinds=+p --fields=+ias --extra=+q .<CR>

nnoremap <silent> <F8> :TlistToggle<CR>
let Tlist_Show_One_File = 1
let Tlist_exit_onlyWindow = 1
let Tlist_Use_Right_Window = 1 
"""""""""""""""""""""""""""""""""

"""""""""""""""""""""""""""""""""""
"               NERDTree
"""""""""""""""""""""""""""""""""""
nnoremap <silent> <F7> :NERDTree<CR>
"""""""""""""""""""""""""""""""""""


filetype on
filetype plugin on
filetype indent on
syntax on

"光标所在行高亮
set cursorline
hi CursorLine NONE term=underline ctermbg=234 guibg=#293739 


"git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
" vundle {
set rtp+=~/.vim/bundle/vundle/
" 如果在windows下使用的话,设置为
" set rtp+=$HOME/.vim/bundle/vundle/
call vundle#rc()
" }
"
" let Vundle manage Vundle
" required!
Bundle 'gmarik/vundle'

" My Bundles here:
"
" original repos on github
" github上的用户写的插件,使用这种用户名+repo名称的方式
" Bundle 'tpope/vim-fugitive'
" Bundle 'Lokaltog/vim-easymotion'
" Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
" Bundle 'tpope/vim-rails.git'
" vim-scripts repos

" vimscripts的repo使用下面的格式,直接是插件名称
Bundle 'taglist.vim'
Bundle 'c.vim'
Plugin 'scrooloose/nerdTree'

Plugin 'godlygeek/tabular'
Plugin 'plasticboy/vim-markdown'

" non github reposo
" 非github的插件,可以直接使用其git地址
" Bundle 'git://git.wincent.com/command-t.git'
" ...
  
"
" Brief help
" :BundleList          - list configured bundles
" :BundleInstall(!)    - install(update) bundles
" :BundleSearch(!) foo - search(or refresh cache first) for foo
" :BundleClean(!)      - confirm(or auto-approve) removal of unused bundles
" vundle主要就是上面这个四个命令,例如BundleInstall是全部重新安装,BundleInstall!则是更新
" 一般安装插件的流程为,先BundleSearch一个插件,然后在列表中选中,按i安装
" 安装完之后,在vimrc中,添加Bundle 'XXX',使得bundle能够加载,这个插件,同时如果
" 需要配置这个插件,也是在vimrc中设置即可
" see :h vundle for more details or wiki for FAQ
" NOTE: comments after Bundle command are not allowed..

" 关闭markdown的自动折叠
let g:vim_markdown_folding_disabled = 1

"文件类型关联
au BufNewFile,BufRead *.gradle setf groovy
au BufNewFile,BufRead *.md setf markdown

Shadowsocks

sudo add-apt-repository ppa:hzwhuang/ss-qt5
sudo apt-get update
sudo apt-get install shadowsocks-qt5

SwitchOmega

downloadurl : https://github.com/FelisCatus/SwitchyOmega/releases

jdk

sudo apt-add-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
export JAVA_HOME=/usr/lib/jvm/java-7-oracle

adb 32位环境

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5
sudo apt-get install lib32z1

python

sudo apt-get install python
sudo apt-get install python-pip
sudo apt-get install python-virtualenv
sudo apt-get install virtualenvwrapper

修改pip源(修改到豆瓣): 执行:

cat > ~/.pip/pip.conf

输入:

[global]
trusted-host =  pypi.douban.com
index-url = http://pypi.douban.com/simple 

Ctrl + D

sdkman

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

groovy

sdk install groovy # 依赖sdkman

gradle

sdk install gradle # 依赖sdkman

Android源码

从这里下载可以使用迅雷,绕开repo更新。速度给力,10M左右。 [https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly]

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏开源优测

接口测试 | 21 基于flask弄个restful API服务出来

概述 上篇我们很简单的分享了如何基于flask搞一个支持http GET\POST\HEAD\DELETE方法的服务,大家可以根据这个简单的实例进行扩展。 下面...

3549
来自专栏向治洪

React Native移植原生Android

(一)前言 之前已经写过了有关React Native移植原生Android项目的文章,不过因为RN版本更新的原因吧,跟着以前的文章可能会出现一些问题,对于初学...

2007
来自专栏7号代码

Android开发高级进阶——Service与Notification

Service是处理一些后台任务,在主线程中,并不能执行耗时操作。而Thread是开启一个子线程,在子线程中执行耗时操作,这样不会阻塞主线程。

1784
来自专栏wOw的Android小站

[Android] Service服务详解以及如何使service服务不被杀死

  服务是一个应用程序组件,可以在后台执行长时间运行的操作,不提供用户界面。一个应用程序组件可以启动一个服务,它将继续在后台运行,即使用户切换到另一个应用程序。...

1.4K1
来自专栏CodingBlock

Android查缺补漏(IPC篇)-- 进程间通讯之Socket简介及示例

本文作者:CodingBlock 文章链接:http://www.cnblogs.com/codingblock/p/8425736.html

1254
来自专栏緣來來來

安卓基础干货(八):安卓进程的学习

接口(interface): 对外开放暴露的功能,但是不会暴露功能实现的细节; 让中间人实现服务接口的目的:只对外暴露接口里面业务逻辑方法,隐藏中间人里面的其他...

1191
来自专栏wOw的Android小站

[Android] 针对生成的图片文件在系统Gallery不显示的处理

  之前遇到过一个问题,就是发现我在程序中生成一个新的 Bitmap 之后,当我打开系统的 Gallery 查看时,并没有看到新生成的图像。然而打开文件浏览器,...

971
来自专栏CodingBlock

Android查缺补漏--BroadcastReceiver的类型与使用

Broadcast 是一种被用于应用内和应用之间传递信息的机制。一个广播可以对应多个接受者。一个完整的广播机制,需要具有以下三个要素: 发送广播的Broadca...

1967
来自专栏数据和云

Oracle 12.2 新特性 | PDB不同字符集变更深入解析

从12c版本12.1开始,就有了新特性——Pluggable Database,相比较之前通过schema的管理方式实现多用户管理,Pluggable Data...

3739
来自专栏数据之美

linux 系统监控、诊断工具之 lsof 用法简介

1、lsof 简介 lsof 是 linux 下的一个非常实用的系统级的监控、诊断工具。 它的意思是 List Open Files,很容易你就记住了它是 “...

4256

扫码关注云+社区

领取腾讯云代金券