PA0 实验环境的配置

安装Debian10 操作系统

下载镜像文件

官网下载地址:Debian 10 , 下载debian-10.?.?-amd64-xfce-CD-1.iso 这个文件

这里推荐一个国内镜像源下载,速度可能快一些:Debian

安装

我用的是虚拟机VMWare 15.6, 百度上也有安装教程,配合指导书来安装。

其他配置

首先执行如下命令,将当前用户加入sudo 组

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

更新源

sudo echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ stable main" > /etc/apt/sources.list

我执行这个命令会报错bash: /etc/apt/sources.list: Permission denied,即使我使用了sudo,据网上说可能是


这是因为重定向符号 “>” 也是 bash 的命令。sudo 只是让 echo 命令具有了 root 权限,但是没有让 “>” 命令也具有root 权限,所以 bash 会认为这个命令没有写入信息的权限。

解决方法是:使用 "sh -c" 命令
它可以让 bash 将一个字串作为完整的命令来执行,这样就可以将 sudo 的影响范围扩展到整条命令。
具体用法如下:

sudo sh -c "echo \"deb http://mirrors.tuna.tsinghua.edu.cn/debian/ stable main\" > /etc/apt/sources.list"

可以查看一下是否成功
cat /etc/apt/sources.list .

接着执行下面命令

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

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文件里加入
set tags=tags;
  1. 使用
    ctrl + ] 跳转,ctrl + T 返回。
Last modification:July 27th, 2020 at 04:55 pm
如果觉得我的文章对你有用,请随意赞赏