Drupal Tutorial: vi Editor für Drupal anpassen (.vimrc, vimrc-drupal)

Der vi Editor ist ein Texteditor für die Kommandozeile. Der Umgang mit dem Editor ist etwas tricky, aber es gibt zahlreiche Tutorials und gute Erklärungen.

Um eine Datei mit vi zu bearbeiten genügt folgendes Kommando:

vi dateiname.endung

Wer als Anfänger Probleme hat den vi Editor zu schließen sollte sich folgendes Kommando merken. Erst ESC drücken um den Editor in den Befehlsmodus (command mode) zu bringen. Dann folgendes eingeben und ENTER drücken

:q!

vi Editor für Drupal anpassen

Richtig gut wird der vi Editor erst, wenn man ihn etwas anpasst. Dies geschieht über eine Konfigurationsdatei. Ich verwende eine Datei Namens .vimrc-drupal in Kombination mit einem alias Namens vid. Was diese Komfigurations Datei macht siehst du hier.

vi Editor - Vorher

vi dateiname.endung
vi-vorher.gif

Der Editor erkennt die Dateiendung .module nicht als PHP-Datei. Deshalb funktioniert das Syntax-Highlighting für PHP nicht. Das lässt sich aber, wie wir gleich sehen, beheben :)

vi Editor - Nachher

vid dateiname.endung
vi-nachher.gif

Veränderungen zu vorher:

  • Das PHP-Syntax-Highlighting funktioniert automatisch für Dateien mit der Endung .module, .theme, .inc, .install, .info, .engine, .profile, .test
  • Beim Editieren werden Drupal-Coding-Standards unterstützt, wie automatisches Einrücken mit 2 Leerzeichen (anstatt Tabs).
  • Zeilennummerierung
  • Überflüssige Leerzeichen am Zeilenende werden markiert.
  • Bei Klammern wird automatisch die zugehörige öffnen/schließen-Klammer optisch markiert.

Konfigurations Datei

Die Konfigurationen werden wie oben erwähnt in einer Datei Namens .vimrc-drupal gespeichert. Diese Datei kann/sollte im Home-Verzeichnis angelegt werden. Über ein .bashrc alias wird diese Konfiguration dann immer geladen wenn wir ein File mit vid anstatt vi öffnen. Der alias, der z.B. am Ende in die Datei .bashrc im Home-Verzeichnis eingetragen wird lautet:

alias vid="vim -u ~/.vimrc-drupal"

Der Inhalt der Datei .vimrc-drupal sollte wie folgt angegeben werden:

" Set filetype detection on, load plugins and indent.
filetype plugin indent on

" Use vim defaults.
set nocompatible

" Tabs, Spaces and Indentation.
set expandtab " Use spaces for tabs.
set tabstop=2 " Number of spaces to use for tabs.
set shiftwidth=2 " Number of spaces to autoindent.
set softtabstop=2 " Number of spaces for a tab.
set autoindent " Set autoindenting on.

" Various.
set bs=2 " Backspace, this is the same as :set backspace=indent,eol,start.
set ruler " Show the cursor position.
set scrolloff=5 " Show 5 lines above/below the cursor when scrolling.
set number " Line numbers on.
set showcmd " Shows the command in the last line of the screen.
set autoread " Read files when they've been changed outside of Vim.
"set cursorline " Highlight current line, slowes things down!

" Bells and whistles.
set novisualbell
set noerrorbells
set t_vb=

set history=300 " Number of command lines stored in the history tables.
set title " Set the title in the console.

" Use matchtime and showmatch together.
set matchtime=2 " Time to show matching parent in 10ths of a sec.
set showmatch " Show matching parents.

" Backup.
set nobackup " Don't backup files.
set nowritebackup
set noswapfile

" Searching.
set hlsearch
"set incsearch
set ignorecase
set smartcase

set viminfo='1000,f1,<500 " Copy more than 50 lines of text (500)
set wildmode=longest,list " File and directory matching mode.

" Highlight redundant whitespaces and tabs.
highlight RedundantSpaces ctermbg=red guibg=red
match RedundantSpaces /\s\+$\| \+\ze\t\|\t/

syntax on " Syntax highlighting on.

" Drupal command group, set the correct filetypes for Drupal files.
augroup drupal
  autocmd BufRead,BufNewFile *.module set filetype=php
  autocmd BufRead,BufNewFile *.theme set filetype=php
  autocmd BufRead,BufNewFile *.inc set filetype=php
  autocmd BufRead,BufNewFile *.install set filetype=php
  autocmd BufRead,BufNewFile *.info set filetype=php
  autocmd BufRead,BufNewFile *.engine set filetype=php
  autocmd BufRead,BufNewFile *.profile set filetype=php
  autocmd BufRead,BufNewFile *.test set filetype=php
augroup END

" Prevent help popping up catch <F1> instead of <ESC>.
:nmap <F1> <ESC>
:map <F1> <ESC>
:imap <F1> <ESC>

" Map keys to navigate tabs
:map <C-Left> :tabprevious<CR>
:map <C-Right> :tabnext<CR>

AnhangGröße
vimrc-drupal.txt2.32 KB

Kommentare

Kommentar verfassen

Der Inhalt dieses Feldes wird nicht öffentlich gezeigt.