linux软件开发

前言

这是开发中可能使用到的一类软件。

  • 安装Ubuntu 16.04后要做的事(总结)

通用IDE

VIM

极客大佬才玩的东西,我一般都不怎么用,╮(╯▽╰)╭

VIM安装

安装vim,可以直接执行以下命令行:

apt-get install vim

注意:vim安装完后有提供对应的文档教程,具体使用方法是:

vimtutor

后就可以打开文档教程进行学习对应的vim指令。

VIM配置

当提到VIM配置的时候,就不得不说我们vim强大的自定义性,以及庞大的插件库。当我们使用了较多的插件的时候,我们就会发现插件真的很难管理(安装和卸载都很麻烦)。所以就不得不说VIM的插件管理器Vundle了。

Vundle安装和配置插件

好了,直接上安装和使用教程:

1、克隆我们需要的Vundle到你的用户目录下

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

2、配置属于你的专属的.vimrc文件。

call vundle#begin()
" 这里是插件放置位置
call vundle#end()            " required

这个是完整的配置。

set nocompatible "be iMproved, required
filetype off " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
Plugin 'scrooloose/syntastic' " 语法检测工具 
Plugin 'scrooloose/nerdcommenter' "注释代码工具 \cc注释当前行 \cu 撤销注释当前行 \cs sexily注释 \cA 行尾注释,切换成输入模式 
Plugin 'scrooloose/nerdtree' "树状结构文件夹目录
Plugin 'majutsushi/tagbar' 
Plugin 'jiangmiao/auto-pairs' " 括号自动匹配

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
" filetype plugin on
"
" Brief help
" :PluginList       - lists configured plugins
" :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line

"powerline部分"
set rtp+=~/.local/lib/python2.7/site-packages/powerline/bindings/vim/
set guifont=Sauce\ Code\ Powerline:h14.5
set laststatus=2
set encoding=utf-8
set t_Co=256
set number
set fillchars+=stl:\ ,stlnc:\
set term=xterm-256color
set termencoding=utf-8
set background=dark

set modelines=0

set backspace=2 "设置更好的删除"

syntax on "自动语法高亮"

"用浅色高亮当前行"
autocmd InsertLeave * se nocul
autocmd InsertEnter * se cul

set smartindent "智能对齐"

set autoindent "自动对齐"

set confirm "在处理未保存或只读文件的时候,弹出确认框"

set tabstop=4 "tab键的宽度"
set softtabstop=4 "使得按退格键可以一次删掉4个空格"
set shiftwidth=4 "统一缩进为4"
set expandtab "不要用空格替代制表符"

set autochdir "自动切换当前目录位当前文件所在目录"

set number "显示行号"
set history=50  "历史纪录数"
set hlsearch "搜索时高亮被查找到的文本"
set incsearch "搜素高亮,搜索逐渐高亮"

set hidden " 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存

set gdefault "行内替换“
set encoding=utf-8
set fileencodings=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936,utf-16,big5,euc-jp,latin1 "编码设置”

set guifont=Menlo:h16:cANSI "设置字体“
set langmenu=zn_CN.UTF-8
set helplang=cn  "语言设置”

set ruler "在编辑过程中,在右下角显示光标位置的状态行“

set laststatus=2 " 显示状态栏 (默认值为 1, 无法显示状态栏)
set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\
" 设置在状态行显示的信息

set showcmd "在状态行显示目前所执行的命令,未完成的指令片段也会显示出来"


set scrolloff=3 "光标移动到buffer的顶部和底部时保持3行的距离"
set showmatch "高亮显示对应的括号"
set matchtime=5 "对应括号高亮时间(单位是十分之一秒)"

set autowrite "在切换buffer时自动保存当前文件"

set wildmenu  "增强模式中的命令行自动完成操作"

set linespace=2 "字符间插入的像素行数目"
set whichwrap=b,s,<,>,[,] "开启normal 或visual模式下的backspace键空格键,左右方向键,insert或replace模式下的左方向键,右方向键的跳行功能"

filetype plugin indent on "分为三部分命令:file on,file plugin on,file indent on 分别是自动识别文件类型, 用用文件类型脚本,使用缩进定义文件"

set foldenable  "允许折叠"
set foldmethod=syntax " 设置语法折叠
set foldcolumn=0 " 设置折叠区域的宽度
setlocal foldlevel=1 " 设置折叠层数为
" set foldclose=all " 设置为自动关闭折叠
" " nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
" " 用空格键来开关折叠

set cursorline "突出显示当前行"
set magic  "设置魔术?神马东东"
set ignorecase "搜索忽略大小写"
filetype on "打开文件类型检测功能"
set background=dark
set t_Co=256   "256色"
set mouse=a  "允许鼠标"

" 配置nerdtree
let NERDTreeQuitOnOpen=1 "打开文件时关闭树
let NERDTreeShowBookmarks=1 "显示书签

" 配置nerdtree的快捷键
let mapleader = ","
map <leader>ne :NERDTreeToggle<CR>
map <leader>tl :TlistToggle<cr>
nnoremap <leader>ma :set mouse=a<cr>
nnoremap <leader>mu :set mouse=<cr>

" tagbar插件
nmap <leader>tb :TagbarToggle<CR>

3、到了这里,我们需要执行安装插件的命令了。首先在Terminal中输入vim,进入之后打:VundleInstall,安装插件,之后就是等了……

下面是Vim插件安装成功的图示了。_,退出可以使用:q退出。

Vundle使用教程

  • 安装(更新)插件
    • :BundleInstall
  • 卸载插件
    • :BundleClean
  • 显示所有插件
    • :BundleList
  • 查找插件
    • :BundleSearch 插件名称
  • 刷新插件(下面插件名称的)缓存
    • :BundleSearch! 插件名称
  • 清除插件缓存
    • BundleClean!

安装成功图示

附录

  • wang_j - vim 配置文件 ,高亮+自动缩进+行号+折叠+优化

软件工程

StarUML

  • StarUML3.01最新版 for Linux(Ubuntu16LTS)

数学建模

Matlab

  • ubuntu16.04安装MATLAB R2017b步骤详解(附完整注册工具包)

错误解决

在命令行中输入matlab报以下错误:

libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
[1]    4190 segmentation fault (core dumped)  matlab

解决方法(libstdc++.so.6丢了,重新创建软链接)。

ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /opt/MATLAB/XXXXX(R2014b)/sys/os/glnxa64/libstdc++.so.6
  • 原链接
  • libGL error persists, and I’ve tried everything

备份一个完整的方法:

cd /mnt/nixbig/downloads/matlab_R2016a/
ls -l | grep libsrdc        # to check the versions I have
mv libgcc_s.so.1 libgcc_s.so.1.bak
mv libstdc++.so.6 libstdc++.so.6.bak
mv libstdc++.so.6.0.17 libstdc++.so.6.0.17.bak
ls /usr/lib/x86_64-linux-gnu/ | grep libstdc    # to check the versions I have
ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22 libstdc++.so
ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6

Maple

  • 下载地址
  1. 运行安装:$ cd maple_2018; chmod + x * .run;./Maple2018.0LinuxX64Installer.run
  2. 选择安装程序的路径(默认为〜/ maple2018)选择安装程序的路径(默认为〜/ maple2018
  3. 安装完成后删除激活复选框,如果LSB尚未安装,请立即执行!安装完成后删除激活复选框,如果LSB尚未安装,请立即执行!
  4. 运行脚本:$ cd maple_2018 / crack; chmod + x * .pl; ./crack.pl / path / to / directory / from / maple2018运行脚本:$ cd maple_2018 / crack; chmod + x * .pl; ./crack.pl / path / to / directory / from / maple2018

底层原理

源码查看工具

我们总会有些需求要看看源码,特别是Android开发工程师……

  • Android 编译Android 7.1.1源码
  • Android Sublime源码阅读姿势

Understand【有Linux版本】

官网:Understand(源代码阅读工具)

  • understand安装操作:https://scitools.com/documents/unix_install.php
  • understand激活操作:Legal License输入 09E58CD1FB79

sourceinsight4【无Linux版本】

官网:Source Insight 4

  • 这个没有Linux版本的,需要Wine环境来安装exe文件。
  • 安装好了之后需要注册,注册的教程和资源下载:跳转到看雪
  • 下载好资源后需要替换,Linux下wine程序的路径为:
cd .wine/drive_c/Program\ Files\ \(x86\)/Source\ Insight\ 4.0
  • 配置教程为:跳转
  • 替换完毕即可。

Slickedit

Slickedit
SlickEdit 2018 V23 注册机下载

  • 解压
  • 运行:./vsins
  • 注册方式:(Ubuntu16.04已经通过使用)
    • 下载:点击,打开SlickEdit_v23_keygen.exe,Linux需要自行安装wine环境。
  • 点击Generate
Done keyfile slickedit.lic
  • 点击Patch,找到SlickEditbin目录下的vs_exe文件,打补丁上去即可。
Run keygen,Patch app's pubkey,then Gen a keyfile as you like.
--readyu
v23, v16: PKCS RSA-2048
V15: FlexNet ECDSA-163
  • SlickEdit Pro 2017 v22全系列安装注册详细教程(附注册机下载)

JD-GUI

  • JD-GUI

嵌入式

Keil

  • ubuntu14.04.5+wine+(keil uVision4)mdk_474.exe安装教程

C/C++

Qt4

  1. 假如你的电脑的字体发虚,看起来很淡,很模糊的话,可以安装这个软件,来修改字体。安装命令:sudo apt-get install qt4-qtconfig
  2. 使用教程 - Linux Mint/Ubuntu如何修改Skype字体大小

ssl-qt

sudo apt-get install shadowsocks-qt5

Android

Android Studio

直接官网下载就好了,没那么多麻烦事情。O(∩_∩)O

全局设置ADB

1.实现思路:
在PATH默认的bin目录下,新建adb的软链接

2.查看sudo $PATH:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

3.进入sudo默认PATH:

cd /usr/local/bin/

4.建立软链接:

sudo ln -s /home/homer/android-sdk-linux/platform-tools/adb

5.这样,在普通用户(homer)、超级用户(root)、sudo用户,都可以直接使用adb命令,因为这些用户的PATH环境变量都包含了目录/usr/local/bin

虚拟机

Linux上有几个Android的虚拟机。

Anbox

  • 鉴定完毕,不好用,很卡……【链接
  • 安装arm架构软件的解决方案:下载脚本
    • 将网址的脚本保存到install-playstore.sh
    • chmod +x install-playstore.sh
    • sudo ./install-playstore.sh
    • 需要翻墙……不然可能下载不了。
  • Anbox安卓apk应用安装及使用说明和常见问题
  • 在Ubuntu安装和使用Anbox完整说明(一种在Linux使用Android应用的方法)

Java

Eclipse

  1. Linux Mint的话,直接在软件管理器中程序设计 中找,直接安装就行了,快捷方式在菜单->编程里面。
  2. 其他的可以参见:Linux Mint 装JDK和Eclipse

测试

Charles

  • Charles
  • Charles 在线注册工具
  • charles监听app请求

附录

  • 我还没想好……
1. git提交分支相关 在本地新建分支,保证和远程分支一样 git checkout -b 分支名 如果分支已存在,只需要切换的话 git checkout 分支名 提交前先把代码
如何用JAVA编写一个简单用户登陆界面? 我想利用JAVA编写一个简单的用户登陆界面,用于信息管理系统的,应该如何着手呢?请高手指教! 搜索更多相关的解决方案: JAVA  界面  编写 
随着各种移动设备的更新换代,移动互联网呈飞速发展状态,移动应用更是呈指数增长。在这种情况下,App的测试需求正逐年增大,已有赶超Web测试的势头。今天,就结合我个人的工作经历,已经相关的专业知识,
这篇文章我是第一次看见,关于app兑换码我也是第一次知道这么用。转给大家,希望能够对大家有所帮助。 App Store兑换码(促销码)是开发者市场营销过程中常常被忽略的一点,开发者并没有挖掘出兑换
目前Win11系统还是拥有周期的更新,并且我们电脑会自动下载这个补丁来让电脑更加安全,但这些升级包并不会在第一时间自行删除,而是会堆积在C盘中,这会导致我们存储空间严重不足,那么要如何去删除呢?
我们在使用电脑的时候有需要切换用户登录,windows10系统下怎么切换用户呢?下面由学习啦小编为你整理了windows10开机界面怎么切换用户的相关方法,希望对你有帮助! windows10
Mysql 更改数据存储目录,只讲干货 1. 找到原存储位置 2.暂停MySQL服务 3.将1查到的文件夹中的data文件剪切到其他盘符 4.更改MySQL服务下的My.ini文件 5.重
关于node的使用已经很久了,使用范围也很广,似乎有前端的地方就有node,那么来思考一个问题,node到底是用来干嘛的呢?本文从五个大的方面对该问题进行了解释。 我们知道node的出现,让前
一、下载最新的软件版本:node # wget [url]ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.0rc3.tar.gz[/url]安
目录 第一部分 单项选择题.....................................................................................
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品。未来,我们一起乘风破浪,创造无限可能。 进入“中文语音识别”目录,然后运行下面的命令 pocketsphinx
快来领取红包
您的专属优惠已准备好!
打开微信扫一扫,关注公众号~
SiteMap 网站地图 文本地图 RSS