# Node ID 2887789ee53cd6b6d80df8859edf8a9ae85c58a0 # Parent 9689ead7b479451745b55b5b0cb37f64589d0f30 diff --git a/util/vi/vimrc b/util/vi/vimrc new file mode 100644 --- /dev/null +++ b/util/vi/vimrc @@ -0,0 +1,74 @@ +"Copyright (c) 2015 Advanced Micro Devices, Inc. +"All rights reserved. +" +"Redistribution and use in source and binary forms, with or without +"modification, are permitted provided that the following conditions are +"met: redistributions of source code must retain the above copyright +"notice, this list of conditions and the following disclaimer; +"redistributions in binary form must reproduce the above copyright +"notice, this list of conditions and the following disclaimer in the +"documentation and/or other materials provided with the distribution; +"neither the name of the copyright holders nor the names of its +"contributors may be used to endorse or promote products derived from +"this software without specific prior written permission. +" +"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +"LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +"A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +"OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +"SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +"LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +"DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +"THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +"(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +"OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +" +" Authors: Anthony Gutierrez + + +"this vimrc file helps users follow the gem5 style guide see: +"www.gem5.org/Coding_Style +"it highlights extraneaous whitespace and tabs (so you can easily remove +"them), sets column length to a max of 78 characters, expands tabs, and sets +"a tab width of 4 spaces. + +"*NOTE 1* this doesn't guarantee that your code with fit the style guidelines, +"so you should still to double check everything, but it helps with a lot of +"tedious stuff. + +"*NOTE 2* if you do actually NEED to use a tab, e.g., in a Makefile, enter +"insert mode and type ctrl-v first, which will make tabs behave as expected + +filetype indent on "auto indenting +set tabstop=4 "tabs = 4 spaces +set shiftwidth=4 "auto indent = 4 spaces +set expandtab "expand tabs to spaces +set tw=78 "max cols is 78 + +"highlight extrawhite space with light blue background +highlight ExtraWhitespace ctermbg=lightblue guibg=lightblue +match ExtraWhitespace /\s\+$\|\t/ + +"stuff to prevent the light blue highlighting from showing up at the end of +"lines when you're in insert mode. i.e., everytime you enter a space as you're +"entering text the highlighting will kick in, which can be annoying. this will +"make the highlighting only show up if you finish editing and leave some extra +"whitespace +autocmd BufWinEnter * match ExtraWhitespace /\s\+$\|\t/ +autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@