clang-format + help doc

This commit is contained in:
Stefan Liebl 2017-02-07 14:31:01 +01:00
parent 0e727fe00b
commit 47cf1c7290
4 changed files with 36 additions and 39 deletions

View File

@ -33,6 +33,11 @@ if (g:os == 'linux')
endif
setlocal suffixesadd=.h
" set clang-format for gq, if exists
if exists('*ClangFormat()')
setlocal formatexpr=ClangFormat()
endif
" commenting
" ----------
let b:commentstring = "\/\/"

View File

@ -74,6 +74,7 @@ Synergy/CM ccm.txt /*Synergy\/CM*
VimSuite vimsuite.txt /*VimSuite*
VimSuiteEinstellungen vimsuite.txt /*VimSuiteEinstellungen*
VimSuiteInstallation vimsuite.txt /*VimSuiteInstallation*
VimSuitePlugins vimsuite.txt /*VimSuitePlugins*
VimSuiteProject vimsuite.txt /*VimSuiteProject*
VimSuiteProjekt vimsuite.txt /*VimSuiteProjekt*
VimSuiteTools vimsuite.txt /*VimSuiteTools*
@ -100,4 +101,5 @@ vimsuite.2 vimsuite.txt /*vimsuite.2*
vimsuite.3 vimsuite.txt /*vimsuite.3*
vimsuite.4 vimsuite.txt /*vimsuite.4*
vimsuite.5 vimsuite.txt /*vimsuite.5*
vimsuite.6 vimsuite.txt /*vimsuite.6*
vimsuite.txt vimsuite.txt /*vimsuite.txt*

View File

@ -4,7 +4,7 @@
|vimsuite.1| Bestandteile
|vimsuite.2| Installation
|vimsuite.3| Einstellungen
|vimsuite.4| Projekte
|vimsuite.4| Plugins
|vimsuite.5| VimSuiteTools
==============================================================================
@ -14,7 +14,6 @@ Die VimSuite besteht aus vimscripts von http://www.vim.org und eigenen
Scripten von Stefan Liebl. Folgende wichtige Scripts sind enthalten:
|VimSuiteTools|Tools zum Programmieren von Stefan Liebl
|BMSK| Makros zum Arbeiten mit BMS-K/BMS-KP Quellcode
|LaTeX| Suite Tools zum bearbeiten von LaTeX Quelltexten
|crefvim| Referenz zur Programmiersprache C (Anleitung in|crefvimdoc|)
|visincr| Inkrementieren von Nummern in Spalten
@ -52,14 +51,10 @@ Einstellungen f
gemacht werden. Alternativ kann dort ein eigenes vimrc-File mit|source|geladen
werden.
*g:WA* *Workarea*
Die Variable g:WA sollte auf ein Verzeichnis zeigen, in dem die Projekte der
VimSuite liegen. Standard ist 'C:/wa'.
*b:GrepFiles* *g:GrepFiles* *GrepFiles*
Die Variable b:GrepFiles kann z.B. in einem|filetype-plugin|gesetzt werden.
g:GrepFiles ist normalerweise *. Für C-Projekte kann die Variable z.B. >
let b:GrepFiles='*.c *.h'
let b:GrepFiles='*.c *.h'
gesetzt werden.
*b:GrepDir* *g:GrepDir* *GrepDir*
@ -74,23 +69,15 @@ Diese Variable wird verwendet, um Code auszukommentieren. Sie sollte in einem
|filetype-plugin|gesetzt werden.
==============================================================================
*vimsuite.4* Projekte *Projekt* *Project* *VimSuiteProjekt* *VimSuiteProject*
*vimsuite.4* Plugins *VimSuitePlugins*
Ein Projekt bezieht sich nicht auf eine VIM-Session, sondern auf ein
Entwicklungsprojekt. Im Menü VimSuite->Project werden alle erkannten Projekte
aufgelistet. Das Projekt kann mit dem Menü oder folgendem Befehl geladen
werden:
Alle Plugins sind als |packages| im Verzeichnis 'pack' installiert. Die
meisten sind als git-submodule integriert. Zum aktualisieren kann der Befehl
>
git submodule update --remote --rebase
git commit
*:SetProject*
:SetProject [file] (Tab-Erweiterung funktioniert) Laden eines Projekts.
Ein Projekt sollte die Datei project.vim enthalten. Nach dieser Datei sucht
die VimSuite für die Auswahl von Projekten in allen Unterverzeichnissen von
|g:WA|. Eine Beispiel für Projekte, die ihre eigene Konfiguration verändern
können ist in project_example.vim und settings_example.vim zu sehen. Die
zweite Datei wird über den Make-Befehl 'Make vim-config' erzeugt und von der
ersten geladen. Die Datei project.vim kann aber auch beliebig anders aussehen.
Sie wird lediglich bei|SetProject| geladen.
verwendet werden.
==============================================================================
*vimsuite.5* VimSuiteTools *VimSuiteTools*
@ -105,7 +92,7 @@ paar Programme, die auf diesem System
Anschließend können im Explorer zwei Verzeichnisse markiert und mit
|DirDiff|verglichen werden.
*:SessionLoad*
*:SessionLoad*
:SessionLoad [Name] Laden der Session mit dem Namen Name.
Ruft|:source|Name auf. Falls kein Name angegeben wird, öffnet sich ein
@ -139,19 +126,6 @@ haupts
konvertiert. Der Befehl funktioniert aber auch einigermaßen für kgs-Files.
Es kann auch eine|range|angebeben werden (auch|visual|).
*CommentInOut* *Comment* *CTRL-k* *CTRL-K*
:CommentInOut Aus- bzw. Ein-Kommentieren von Quellcode
Die Funktion wird üblicherweise über die Tastenkombination <CTRL-K>
aufgerufen. Falls der Code auf der aktuellen Zeile nicht auskommentiert wird,
so wird er auskommentiert. Falls er schon auskommentiert ist, so wird der
Kommentar entfernt. Anschließend springt der Cursor in die nächste Zeile, so
dass große Bereiche sehr einfach aus- oder einkommentiert werden können. Als
Kommentarzeichen wird|b:commentstring|verwendet. Um eine Zeile als
auskommentiert zu erkennen muss der Kommentar in der ersten Spalte stehen.
Echte Kommentare können in einer andreren Spalte stehen und werden dann
doppelt auskommentiert.
*:MarkLongLines*
:MarkLongLines Hebt zu lange Zeilen hervor
Alle Zeilen, die länger als|textwidth|sind, werden rot markiert.

View File

@ -23,7 +23,8 @@ function s:ProjectDlcproSet(project_type)
" editor settings
set spell spelllang=en,de
set expandtab
set cinoptions=:2,=2,l1,g2,h2,N-2,t0,+0,(0,w1,Ws,m1,)100,*100
set cinoptions=l1,g2,h2,N-2,t0,+0,(0,w1,Ws,m1,)100,*100
set textwidth=120
" python tags
execute "set tags+=" . s:ProjectBaseDir . '/tags'
@ -59,7 +60,10 @@ function s:ProjectDlcproSet(project_type)
let g:vc_trunk_url = 'https://svn.toptica.com/svn/DiSiRa/SW/firmware/trunk'
" vim-clang
command! ClangFormat pyfile /usr/share/vim/addons/syntax/clang-format.py
command! ClangFormat call ClangFormat()
" hint: formatexpr=ClangFormat() is set in ft/c.vim
" map <C-I> :pyf /usr/share/vim/addons/syntax/clang-format.py<cr>
" imap <C-I> <c-o>:pyf /usr/share/vim/addons/syntax/clang-format.py<cr>
" YouCompleteMe plugin
"set completeopt-=preview
@ -95,12 +99,13 @@ function s:Cmake(build_type)
call asyncrun#quickfix_toggle(10, 1)
let args = ""
let args .= " ../".g:ProjectSrcDirRel."/"
let args .= " --graphviz=dependencies.dot"
" let args .= " --graphviz=dependencies.dot"
let args .= " -DBUILD_TARGET=target"
let args .= " -DCMAKE_TOOLCHAIN_FILE=../".g:ProjectSrcDirRel."/Toolchain-target.cmake"
let args .= " -DQT5_INSTALL_PATH=dlcpro-sdk/sysroot-target/usr/local/Qt-5.4.1"
let args .= " -DCMAKE_BUILD_TYPE=".build_type
let args .= " -DCMAKE_EXPORT_COMPILE_COMMANDS=1"
" let args .= " -DLICENSE_TOOL=1"
execute 'AsyncRun -save=1 -cwd='.g:ProjectBuildDir.' @ cmake '.args
endfunction
@ -134,3 +139,14 @@ function s:DlcProDebug(program)
" execute 'C set sysroot '.g:ProjectBuildDir.'/dlcpro-sdk/sysroot-target'
" Ccontinue
endfunction
function ClangFormat()
if (v:count > 0)
let startline = v:lnum
let endline = v:lnum + v:count
let l:lines = startline.':'.endline
else
let l:lines='all'
endif
pyf /usr/share/vim/addons/syntax/clang-format.py
endfunction