Loading... PA0 实验环境的配置 <!--more--> ## 安装Debian10 操作系统 ### 下载镜像文件 官网下载地址:[Debian 10](https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/) , 下载`debian-10.?.?-amd64-xfce-CD-1.iso` 这个文件 这里推荐一个国内镜像源下载,速度可能快一些:[Debian](https://mirror.tuna.tsinghua.edu.cn/debian-cd/10.4.0/amd64/iso-cd/) 。 ### 安装 我用的是虚拟机VMWare 15.6, 百度上也有安装教程,配合指导书来安装。 ## 其他配置 首先执行如下命令,将当前用户加入sudo 组 ```bash su - # we still need to switch to the root account first adduser username sudo # change `username` to your user name exit ``` 查看是否加入成功,输入`whoami` 会显示 username,输入`sudo whoami`,然后输入密码后会显示`root`。 ### 更新源 ```bash sudo echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ stable main" > /etc/apt/sources.list ``` 我执行这个命令会报错`bash: /etc/apt/sources.list: Permission denied`,即使我使用了sudo,据网上说可能是 <div class="tip inlineBlock info"> 这是因为重定向符号 “>” 也是 bash 的命令。sudo 只是让 echo 命令具有了 root 权限,但是没有让 “>” 命令也具有root 权限,所以 bash 会认为这个命令没有写入信息的权限。 </div> 解决方法是:使用 "sh -c" 命令 它可以让 bash 将一个字串作为完整的命令来执行,这样就可以将 sudo 的影响范围扩展到整条命令。 具体用法如下: ```bash sudo sh -c "echo \"deb http://mirrors.tuna.tsinghua.edu.cn/debian/ stable main\" > /etc/apt/sources.list" ``` 可以查看一下是否成功 `cat /etc/apt/sources.list` . 接着执行下面命令 ```bash apt-get update apt-get install build-essential # build-essential packages, include binary utilities, gcc, make, and so on apt-get install man # on-line reference manual apt-get install gdb # GNU debugger apt-get install git # reversion control system apt-get install libreadline-dev # a library to use compile the project later apt-get install libsdl2-dev # a library to use compile the project later apt-get install libc6-dev-i386 # a library to use compile the project later apt-get install qemu-system # QEMU ``` 中间可能会有选择yes 或者 no,选yes就行。 ### 配置vim 接下来就是vim的配置了,配置vim需要修改vim的配置文件。Vim 的全局配置一般在`/etc/vim/vimrc`,对所有用户生效。用户个人的配置在`~/.vimrc`。 ```bash cp /etc/vim/vimrc ~/.vimrc cd ~ ``` 接下来修改 `.vimrc` 文件即可。`"` 后面是注释。 ``` set background=dark filetype plugin indent on syntax on " 高亮显示 set showmode " 命令行显示vim当前模式 set showcmd " 命令行显示输入的命令 set showmatch " Show matching brackets. set ignorecase " Do case insensitive matching set smartcase " Do smart case matching set incsearch " Incremental search set hidden " Hide buffers when they are abandoned setlocal noswapfile " 不要生成swap文件 set bufhidden=hide " 当buffer被丢弃的时候隐藏它 set number " 显示行号 set ruler " 打开状态栏标尺 set shiftwidth=4 " 设定 << 和 >> 命令移动时的宽度为 4 set softtabstop=4 " 使得按退格键时可以一次删掉 4 个空格 set tabstop=4 " 设定 tab 长度为 4 set nobackup " 覆盖文件时不备份 set autochdir " 自动切换当前目录为当前文件所在的目录 set backupcopy=yes " 设置备份时的行为为覆盖 set hlsearch " 搜索时高亮显示被找到的文本 set noerrorbells " 关闭错误信息响铃 set novisualbell " 关闭使用可视响铃代替呼叫 set t_vb= " 置空错误铃声的终端代码 set matchtime=2 " 短暂跳转到匹配括号的时间 set magic " 设置魔术 set smartindent " 开启新行时使用智能自动缩进 set backspace=indent,eol,start " 不设定在插入状态无法用退格键和 Delete 键删除回车符 set cmdheight=1 " 设定命令行的行数为 1 set laststatus=2 " 显示状态栏 (默认值为 1, 无法显示状态栏) set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ Ln\ %l,\ Col\ %c/%L%) " 设置在状态行显示的信息 set foldenable " 开始折叠 set foldmethod=syntax " 设置语法折叠 set foldcolumn=0 " 设置折叠区域的宽度 setlocal foldlevel=1 " 设置折叠层数为 1 nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR> " 用空格键来开关折叠 " 自动补全括号 inoremap ' ''<ESC>i inoremap " ""<ESC>i inoremap ( ()<ESC>i inoremap [ []<ESC>i inoremap < <><ESC>i inoremap { {<CR>}<ESC>O ``` ### 安装ctags ctags(generate tag files for source code)是vim下方便代码阅读的工具,ctags可以建立源码树的标签索引(标签就是一个标识符被定义的地方,如变量,函数等),使程序员在编程时能迅速定位函数、变量、宏定义等。 1. 安装 2. 生成tags文件 递归地为当前目录及其子目录下的所有代码文件生成tags文件, 执行完后当前目录下会有一个tags文件。我是在`/home/ccl/ics2019/nemu/`目录下生成的。 3. 指定tags文件 在`.vimrc`文件里加入 ```bash set tags=tags; ``` 4. 使用 `ctrl + ]` 跳转,`ctrl + T` 返回。 Last modification:July 27th, 2020 at 04:55 pm © 允许规范转载 Support 如果觉得我的文章对你有用,请随意赞赏 ×Close Appreciate the author Sweeping payments Pay by AliPay Pay by WeChat