1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-20 10:47:59 +01:00

Merge branch 'master' into vimperator-2.1

Conflicts:
	vimperator/NEWS
	vimperator/locale/en-US/starting.txt
This commit is contained in:
Doug Kearns
2009-02-26 22:11:12 +11:00
58 changed files with 911 additions and 733 deletions

3
.gitignore vendored
View File

@@ -8,6 +8,7 @@
*.xpi
*/locale/*/*.html
*/chrome
*/contrib/vim/*.vba
## Editor backup and swap files
*~
@@ -28,4 +29,4 @@
## Generated by StGit
patches-*
.stgit-edit.txt
.stgit-*.txt

View File

@@ -3,8 +3,12 @@ DIRS = vimperator muttator
TARGETS = clean distclean doc help info jar release xpi
.SILENT:
all: xpi ;
$(TARGETS:%=\%.%):
echo MAKE $@
$(MAKE) -C $* $(@:$*.%=%)
$(TARGETS): %: $(DIRS:%=%.%)
$(TARGETS):
$(MAKE) $(DIRS:%=%.$@)

View File

@@ -5,8 +5,9 @@ OS = $(shell uname -s)
BUILD_DATE = $(shell date "+%Y/%m/%d %H:%M:%S")
BASE = $(TOP)/../common
DOC_SRC_FILES = $(wildcard locale/*/*.txt) $(wildcard locale/*/*.t2t)
LOCALES = $(wildcard locale/*)
LOCALEDIR = locale
DOC_SRC_FILES = $(wildcard $(LOCALEDIR)/*/*.txt)
LOCALES = $(foreach locale,$(wildcard $(LOCALEDIR)/*),$(word 2,$(subst /, ,$(locale))))
MAKE_JAR = VERSION="$(VERSION)" DATE="$(BUILD_DATE)" sh $(BASE)/make_jar.sh
@@ -16,7 +17,7 @@ JAR_DIRS = content skin locale
JAR_TEXTS = js css dtd xml xul html xhtml
JAR_BINS = png
JAR = chrome/${NAME}.jar
JAR = chrome/$(NAME).jar
XPI_BASES = $(JAR_BASES) $(TOP)/..
XPI_FILES = install.rdf TODO AUTHORS Donators NEWS License.txt
@@ -24,32 +25,38 @@ XPI_DIRS = modules components chrome
XPI_TEXTS = js jsm
XPI_BINS = jar
XPI_NAME = ${NAME}_${VERSION}
XPI_PATH = ../downloads/${XPI_NAME}
XPI_NAME = $(NAME)_$(VERSION)
XPI_PATH = ../downloads/$(XPI_NAME)
XPI = $(XPI_PATH).xpi
RDF = ../downloads/update.rdf
RDF_IN = ${RDF}.in
RDF_IN = $(RDF).in
BUILD_DIR = build.${VERSION}.${OS}
BUILD_DIR = build.$(VERSION).$(OS)
ASCIIDOC = asciidoc
AWK = awk
.SILENT:
#### rules
.PHONY: all help info doc jar xpi install clean distclean $(JAR)
TARGETS = all help info doc jar xpi install clean distclean $(JAR)
$(TARGETS:%=\%.%):
echo MAKE $* $(@:$*.%=%)
$(MAKE) -C $* $(@:$*.%=%)
.PHONY: $(TARGETS)
all: help
help:
@echo "${NAME} ${VERSION} build"
@echo "$(NAME) $(VERSION) build"
@echo
@echo " make help - display this help"
@echo " make info - show some info about the system"
@echo " make doc - build doc files"
@echo " make jar - build a JAR (${JAR})"
@echo " make xpi - build an XPI (${XPI_NAME})"
@echo " make jar - build a JAR ($(JAR))"
@echo " make xpi - build an XPI ($(XPI_NAME))"
@echo " make release - updates update.rdf (this is not for you)"
@echo " make clean - clean up"
@echo " make distclean - clean up more"
@@ -57,39 +64,37 @@ help:
@echo "running some commands with V=1 will show more build details"
info:
@echo "version ${VERSION}"
@echo "release file ${XPI}"
@echo "doc files ${DOC_SRC_FILES}"
@echo -e "jar files $(shell echo ${JAR_FILES} | sed 's/ /\\n /g' )"
@echo "xpi files ${XPI_FILES}"
@echo "version $(VERSION)"
@echo "release file $(XPI)"
@echo "doc files $(DOC_SRC_FILES)"
@echo "xpi files $(XPI_FILES)"
xpi: ${XPI}
jar: ${JAR}
xpi: $(XPI)
jar: $(JAR)
release: ${XPI} ${RDF}
release: $(XPI) $(RDF)
${RDF}: ${RDF_IN} Makefile
$(RDF): $(RDF_IN) Makefile
@echo "Preparing release..."
${Q}${SED} -e "s,###VERSION###,${VERSION},g" \
-e "s,###DATE###,${BUILD_DATE},g" \
$(SED) -e "s,###VERSION###,$(VERSION),g" \
-e "s,###DATE###,$(BUILD_DATE),g" \
< $< > $@
@echo "SUCCESS: $@"
clean:
@echo "Cleanup..."
rm -f ${JAR} ${XPI}
clean: $(LOCALEDIR)/$(LOCALES:%=%.clean)
@echo "General $(NAME) cleanup..."
rm -f $(JAR) $(XPI)
distclean: clean
@echo "More cleanup..."
@set -e; for locale in $(LOCALES); do $(MAKE) -C clean; doc; done
rm -rf ${BUILD_DIR}
distclean: $(LOCALEDIR)/$(LOCALES:%=%.distclean) clean
@echo "More $(NAME) cleanup..."
rm -rf $(BUILD_DIR)
#### xpi
$(XPI): $(JAR)
@echo "Building XPI..."
mkdir -p $(XPI_PATH)
awk -v 'name=$(NAME)' -f $(BASE)/process_manifest.awk $(TOP)/chrome.manifest >$(XPI_PATH)/chrome.manifest
$(AWK) -v 'name=$(NAME)' -f $(BASE)/process_manifest.awk $(TOP)/chrome.manifest >$(XPI_PATH)/chrome.manifest
$(MAKE_JAR) "$(XPI)" "$(XPI_BASES)" "$(XPI_DIRS)" "$(XPI_TEXTS)" "$(XPI_BINS)" "$(XPI_FILES)"
@echo "SUCCESS: $@"
@@ -102,5 +107,4 @@ $(JAR): doc
#### doc (see Makefile.doc)
doc:
@set -e; for locale in $(LOCALES); do $(MAKE) -C $$locale doc; done
doc: $(foreach localetgt,$(LOCALES:%=%.doc),$(addprefix $(LOCALEDIR)/,$(localetgt))) ;

View File

@@ -1,28 +1,18 @@
# Symlink me to locale/*/Makefile
# Symlink me to (or include me from) locale/*/Makefile
#### configuration
BASE = ../../../common
ASCIIDOC = asciidoc
AWK = awk
THIS_LOCALE = $(notdir $(shell pwd))
THIS_LANG = $(firstword $(subst -, ,$(THIS_LOCALE)))
ifneq ($(strip $(shell echo -n $(THIS_LANG) | wc -c)),2)
THIS_LANG = en
endif
LOCALE = $(shell basename `pwd`)
LANG = $(shell basename `pwd` | $(AWK) -F- '{ print ($$1 ~ /^[a-z][a-z]$$/) ? $$1 : "en" }')
ADC_SRC_FILES = $(wildcard *.txt)
ADC_FILES = $(ADC_SRC_FILES:%.txt=%.html)
ADC_DEPS = $(wildcard asciidoc.conf lang-$(THIS_LANG).conf)
ADC_DEPS = $(wildcard asciidoc.conf lang-$(LANG).conf)
T2T_SRC_FILES = $(wildcard *.t2t)
T2T_FILES = $(T2T_SRC_FILES:%.t2t=%.xhtml)
T2T_DEPS = $(wildcard config.t2t)
DOC_FILES = $(ADC_FILES) $(T2T_FILES)
ASCIIDOC = asciidoc
TXT2TAGS = txt2tags
AWK = awk
DOC_FILES = $(ADC_FILES) version.html
.SILENT:
@@ -31,49 +21,42 @@ AWK = awk
.PHONY: all help doc asciidoc check-asciidoc clean distclean
all: doc
doc: asciidoc t2t
doc: asciidoc
help:
@echo "${NAME} ${VERSION} build"
@echo "$(NAME) $(VERSION) build"
@echo
@echo " make help - display this help"
@echo " make doc - build doc files"
@echo " make asciidoc - build asciidoc'd files only"
@echo " make t2t - build txt2tags'd files only"
@echo " make clean - clean up"
@echo " make distclean - clean up more"
clean:
@echo "Cleanup..."
@echo "Cleanup of $(LOCALE) documentation..."
distclean: clean
@echo "More cleanup..."
@echo "More cleanup of $(LOCALE) documentation..."
rm -f $(DOC_FILES)
#### Makes single-file makes easier to type
%: %.html %.t2t %.xhtml %.t2t ;
%: %.html %.txt ;
%: %.xhtml %.t2t ;
#### asciidoc
asciidoc: check-asciidoc $(ADC_FILES)
asciidoc: check-asciidoc $(DOC_FILES)
check-asciidoc:
@$(ASCIIDOC) --version | $(AWK) '{ exit $$2 !~ /^8\.2\./ }' || \
echo >&2 "Warning: asciidoc versions other than 8.2.x are unsupported"
$(ADC_FILES): %.html: %.txt $(BASE)/Makefile.doc $(ADC_DEPS)
@echo "DOC locale/$(THIS_LOCALE)/$@"
$(ASCIIDOC) --unsafe -a linkcss -a quirks! -a lang=$(THIS_LANG) -a doctitle="$(shell basename $@)" -o $@ $<
@echo "DOC locale/$(LOCALE)/$@"
$(ASCIIDOC) --unsafe -a linkcss -a quirks! -a lang=$(LANG) -a doctitle="$(shell basename $@)" -o $@ $<
#### txt2tags
t2t: $(T2T_FILES)
$(T2T_FILES): %.xhtml: %.t2t $(BASE)/Makefile.doc $(T2T_DEPS)
@echo "T2T locale/$(THIS_LOCALE)/$@"
txt2tags --quiet $<
version.html: ../../NEWS $(BASE)/Makefile.doc $(ADC_DEPS)
@echo "DOC locale/$(LOCALE)/$@"
# NOTE: asciidoc doesn't source the conf file implicitly when processing stdin
sed -e '1i\
HEADER' -e '/^[0-9]/d' -e '/^ \+\* version /s/.*version \+\([0-9.]\+\).*/section:Version{nbsp}\1[version-\1]\
/' ../../NEWS | ${ASCIIDOC} -f asciidoc.conf -a doctitle=version.html -o version.html -

View File

@@ -867,9 +867,16 @@ function Buffer() //{{{
/**
* @property {string} The current top-level document's URL.
*/
get URL()
get URL() window.content.location.href,
/**
* @property {string} The current top-level document's URL, sans any
* fragment identifier.
*/
get URI()
{
return window.content.document.location.href;
let loc = window.content.location;
return loc.href.substr(0, loc.href.length - loc.hash.length);
},
/**
@@ -1044,7 +1051,12 @@ function Buffer() //{{{
function followFrame(frame)
{
function iter(elems) (e for ([i, e] in Iterator(elems)) if (e.rel.toLowerCase() == rel || e.rev.toLowerCase() == rel));
function iter(elems)
{
for (let i = 0; i < elems.length; i++)
if (elems[i].rel.toLowerCase() == rel || elems[i].rev.toLowerCase() == rel)
yield elems[i];
}
// <link>s have higher priority than normal <a> hrefs
let elems = frame.document.getElementsByTagName("link");
@@ -1065,16 +1077,10 @@ function Buffer() //{{{
let res = buffer.evaluateXPath(options["hinttags"], frame.document);
for (let [,regex] in Iterator(regexps))
{
for (let i in util.range(res.snapshotLength, 0, true))
for (let i in util.range(res.snapshotLength, 0, -1))
{
let elem = res.snapshotItem(i);
if (regex.test(elem.textContent))
{
buffer.followLink(elem, liberator.CURRENT_TAB);
return true;
}
// images with alt text being href
if (Array.some(elem.childNodes, function (child) regex.test(child.alt)))
if (regex.test(elem.textContent) || Array.some(elem.childNodes, function (child) regex.test(child.alt)))
{
buffer.followLink(elem, liberator.CURRENT_TAB);
return true;
@@ -1462,7 +1468,7 @@ function Buffer() //{{{
*/
viewSource: function (url, useExternalEditor)
{
url = url || buffer.URL;
url = url || buffer.URI;
if (useExternalEditor)
editor.editFileExternally(url);
@@ -1625,7 +1631,7 @@ function Marks() //{{{
function (args)
{
let special = args.bang;
let args = args.string;
args = args.string;
if (!special && !args)
{

View File

@@ -573,7 +573,7 @@ function Commands() //{{{
count++; // to compensate the "=" character
}
else if (!/\s/.test(sep)) // this isn't really an option as it has trailing characters, parse it as an argument
else if (!/\s/.test(sep) && sep != undefined) // this isn't really an option as it has trailing characters, parse it as an argument
{
invalid = true;
}

View File

@@ -220,6 +220,12 @@ function CompletionContext(editor, name, offset) //{{{
: item.item[key];
}
CompletionContext.Sort = {
number: function (a, b) parseInt(b) - parseInt(a) || String.localeCompare(a, b),
unsorted: null
};
CompletionContext.prototype = {
// Temporary
/**
@@ -554,10 +560,10 @@ CompletionContext.prototype = {
{
let self = this;
let items = this.items;
let reverse = start > end;
let step = start > end ? -1 : 1;
start = Math.max(0, start || 0);
end = Math.min(items.length, end ? end : items.length);
return util.map(util.range(start, end, reverse), function (i) items[i]);
return util.map(util.range(start, end, step), function (i) items[i]);
},
getRows: function getRows(start, end, doc)
@@ -565,10 +571,10 @@ CompletionContext.prototype = {
let self = this;
let items = this.items;
let cache = this.cache.rows;
let reverse = start > end;
let step = start > end ? -1 : 1;
start = Math.max(0, start || 0);
end = Math.min(items.length, end != null ? end : items.length);
for (let i in util.range(start, end, reverse))
for (let i in util.range(start, end, step))
yield [i, cache[i] = cache[i] || util.xmlToDom(self.createRow(items[i]), doc)];
},
@@ -720,22 +726,22 @@ function Completion() //{{{
this.completers = {};
this.iter = function iter(obj)
{
let iterator = (function objIter()
{
for (let k in obj)
{
// Some object members are only accessible as function calls
function getKey(obj, key)
{
try
{
yield [k, obj[k]];
continue;
return obj[key];
}
catch (e) {}
yield [k, <>inaccessable</>]
catch (e)
{
return undefined;
}
})();
}
this.iter = function iter(obj)
{
let iterator = ([k, getKey(obj, k)] for (k in obj));
try
{
// The point of 'for k in obj' is to get keys
@@ -775,21 +781,21 @@ function Completion() //{{{
// available in the object itself.
let orig = obj;
// v[0] in orig and orig[v[0]] catch different cases. XPCOM
// objects are problematic, to say the least.
if (modules.isPrototypeOf(obj))
compl = [v for (v in Iterator(obj))];
else
{
if (obj.wrappedJSObject)
if (getKey(obj, 'wrappedJSObject'))
obj = obj.wrappedJSObject;
// v[0] in orig and orig[v[0]] catch different cases. XPCOM
// objects are problematic, to say the least.
compl = [v for (v in this.iter(obj))
if ((typeof orig == "object" && v[0] in orig) || orig[v[0]] !== undefined)];
if ((typeof orig == "object" && v[0] in orig) || getKey(orig, v[0]) !== undefined)];
}
// And if wrappedJSObject happens to be available,
// return that, too.
if (orig.wrappedJSObject)
if (getKey(orig, 'wrappedJSObject'))
compl.push(["wrappedJSObject", obj]);
// Add keys for sorting later.
@@ -1381,6 +1387,7 @@ function Completion() //{{{
context.anchored = false;
context.title = ["Buffer", "URL"];
context.keys = { text: "text", description: "url", icon: "icon" };
context.compare = CompletionContext.Sort.number;
let process = context.process[0];
context.process = [function (item, text)
<>
@@ -1560,7 +1567,7 @@ function Completion() //{{{
{
context.format = history.format;
context.title = ["History"]
context.compare = null;
context.compare = CompletionContext.Sort.unsorted;
//context.background = true;
if (context.maxItems == null)
context.maxItems = 100;
@@ -1584,7 +1591,7 @@ function Completion() //{{{
context.hasItems = context.completions.length > 0; // XXX
context.filterFunc = null;
context.cancel = function () services.get("autoCompleteSearch").stopSearch();
context.compare = null;
context.compare = CompletionContext.Sort.unsorted;
let timer = new Timer(50, 100, function (result) {
context.incomplete = result.searchResult >= result.RESULT_NOMATCH_ONGOING;
context.completions = [
@@ -1655,7 +1662,8 @@ function Completion() //{{{
completer = function () [["true", ""], ["false", ""]];
break;
case "stringlist":
len = newValues.pop().length;
let target = newValues.pop();
len = target ? target.length : 0;
break;
case "charlist":
len = 0;
@@ -1716,7 +1724,7 @@ function Completion() //{{{
context.format = history.format;
context.title = [keyword + " Quick Search"];
// context.background = true;
context.compare = null;
context.compare = CompletionContext.Sort.unsorted;
context.generate = function () {
let [begin, end] = item.url.split("%s");
@@ -1751,7 +1759,7 @@ function Completion() //{{{
let ctxt = context.fork(name, 0);
ctxt.title = [engine.description + " Suggestions"];
ctxt.compare = null;
ctxt.compare = CompletionContext.Sort.unsorted;
ctxt.incomplete = true;
bookmarks.getSuggestions(name, ctxt.filter, function (compl) {
ctxt.incomplete = false;

View File

@@ -204,7 +204,7 @@ function Editor() //{{{
function (args)
{
let matches = args.string.match(RegExp("^\\s*($|" + abbrevmatch + ")(?:\\s*$|\\s+(.*))"));
if (! matches)
if (!matches)
{
liberator.echoerr("E474: Invalid argument");
return false;
@@ -607,8 +607,12 @@ function Editor() //{{{
unselectText: function ()
{
let elem = window.document.commandDispatcher.focusedElement;
// A error occurs if the element has been removed when "elem.selectionStart" is executed.
try {
if (elem && elem.selectionEnd)
elem.selectionEnd = elem.selectionStart;
}
catch (e) {}
},
selectedText: function ()

View File

@@ -932,6 +932,8 @@ function Events() //{{{
{
if (!ctrl && !alt && !shift && !meta)
return false; // an invalid key like <a>
else if (shift)
keyname = keyname.toUpperCase();
charCode = keyname.charCodeAt(0);
}
else if (keyname.toLowerCase() == "space")
@@ -1033,6 +1035,37 @@ function Events() //{{{
}
}
}
// [Ctrl-Bug] special handling of mysterious <C-[>, <C-\\>, <C-]>, <C-^>, <C-_> bugs (OS/X)
// (i.e., cntrl codes 27--31)
// ---
// For more information, see:
// [*] Vimp FAQ: http://vimperator.org/trac/wiki/Vimperator/FAQ#WhydoesntC-workforEscMacOSX
// [*] Referenced mailing list msg: http://www.mozdev.org/pipermail/vimperator/2008-May/001548.html
// [*] Mozilla bug 416227: event.charCode in keypress handler has unexpected values on Mac for Ctrl with chars in "[ ] _ \"
// https://bugzilla.mozilla.org/show_bug.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&id=416227
// [*] Mozilla bug 432951: Ctrl+'foo' doesn't seem same charCode as Meta+'foo' on Cocoa
// https://bugzilla.mozilla.org/show_bug.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&id=432951
// ---
//
// The following fixes are only activated if liberator.has("MacUnix").
// Technically, they prevent mappings from <C-Esc> (and
// <C-C-]> if your fancy keyboard permits such things<?>), but
// these <C-control> mappings are probably pathological (<C-Esc>
// certainly is on Windows), and so it is probably
// harmless to remove the has("MacUnix") if desired.
//
else if (liberator.has("MacUnix") && event.ctrlKey && event.charCode >= 27 && event.charCode <= 31)
{
if (event.charCode == 27) // [Ctrl-Bug 1/5] the <C-[> bug
{
key = "Esc";
modifier = modifier.replace("C-", "");
}
else // [Ctrl-Bug 2,3,4,5/5] the <C-\\>, <C-]>, <C-^>, <C-_> bugs
{
key = String.fromCharCode(event.charCode + 64);
}
}
// special handling of the Space key
else if (event.charCode == 32)
{
@@ -1089,7 +1122,7 @@ function Events() //{{{
waitForPageLoad: function ()
{
liberator.dump("start waiting in loaded state: " + buffer.loaded);
//liberator.dump("start waiting in loaded state: " + buffer.loaded);
liberator.threadYield(true); // clear queue
if (buffer.loaded == 1)
@@ -1102,8 +1135,8 @@ function Events() //{{{
while (now = Date.now(), now < end)
{
liberator.threadYield();
if ((now - start) % 1000 < 10)
liberator.dump("waited: " + (now - start) + " ms");
//if ((now - start) % 1000 < 10)
// liberator.dump("waited: " + (now - start) + " ms");
if (!events.feedingKeys)
return false;
@@ -1122,7 +1155,7 @@ function Events() //{{{
let ret = (buffer.loaded == 1);
if (!ret)
liberator.echoerr("Page did not load completely in " + maxWaitTime + " seconds. Macro stopped.");
liberator.dump("done waiting: " + ret);
//liberator.dump("done waiting: " + ret);
// sometimes the input widget had focus when replaying a macro
// maybe this call should be moved somewhere else?
@@ -1186,7 +1219,7 @@ function Events() //{{{
{
if (config.isComposeWindow)
{
liberator.dump("Compose editor got focus");
//liberator.dump("Compose editor got focus");
modes.set(modes.INSERT, modes.TEXTAREA);
}
else if (liberator.mode != modes.MESSAGE)

View File

@@ -399,87 +399,51 @@ function Hints() //{{{
let wordSplitRegex = RegExp(options["wordseparators"]);
// What the **** does this do? --Kris
//
// This function matches hintStrings like 'hekho' to links like 'Hey Kris, how are you?' -> [HE]y [K]ris [HO]w are you --Daniel
function charsAtBeginningOfWords(chars, words, allowWordOverleaping)
{
let charIdx = 0;
let numMatchedWords = 0;
for (let [,word] in Iterator(words))
function charMatches(charIdx, chars, wordIdx, words, inWordIdx, allowWordOverleaping)
{
if (word.length == 0)
continue;
let matches = (chars[charIdx] == words[wordIdx][inWordIdx]);
if ((matches == false && allowWordOverleaping) || words[wordIdx].length == 0)
{
let nextWordIdx = wordIdx + 1;
if (nextWordIdx == words.length)
return false;
let wcIdx = 0;
// Check if the current word matches same characters as the previous word.
// Each already matched word has matched at least one character.
if (charIdx > numMatchedWords)
{
let matchingStarted = false;
for (let i in util.range(numMatchedWords, charIdx))
{
if (chars[i] == word[wcIdx])
{
matchingStarted = true;
wcIdx++;
return charMatches(charIdx, chars, nextWordIdx, words, 0, allowWordOverleaping);
}
else if (matchingStarted)
if (matches)
{
wcIdx = 0;
break;
}
let nextCharIdx = charIdx + 1;
if (nextCharIdx == chars.length)
return true;
let nextWordIdx = wordIdx + 1;
let beyondLastWord = (nextWordIdx == words.length);
let charMatched = false;
if (beyondLastWord == false)
charMatched = charMatches(nextCharIdx, chars, nextWordIdx, words, 0, allowWordOverleaping)
if (charMatched)
return true;
if (charMatched == false || beyondLastWord == true)
{
let nextInWordIdx = inWordIdx + 1;
if (nextInWordIdx == words[wordIdx].length)
return false;
return charMatches(nextCharIdx, chars, wordIdx, words, nextInWordIdx, allowWordOverleaping);
}
}
// the current word matches same characters as the previous word
let prevCharIdx;
if (wcIdx > 0)
{
prevCharIdx = charIdx;
// now check if it matches additional characters
for (; wcIdx < word.length && charIdx < chars.length; wcIdx++, charIdx++)
{
if (word[wcIdx] != chars[charIdx])
break;
}
// the word doesn't match additional characters, now check if the
// already matched characters are equal to the next characters for matching,
// if yes, then consume them
if (prevCharIdx == charIdx)
{
for (let i = 0; i < wcIdx && charIdx < chars.length; i++, charIdx++)
{
if (word[i] != chars[charIdx])
break;
}
}
numMatchedWords++;
}
// the current word doesn't match same characters as the previous word, just
// try to match the next characters
else
{
prevCharIdx = charIdx;
for (let i = 0; i < word.length && charIdx < chars.length; i++, charIdx++)
{
if (word[i] != chars[charIdx])
break;
}
if (prevCharIdx == charIdx)
{
if (!allowWordOverleaping)
return false;
}
else
numMatchedWords++;
}
if (charIdx == chars.length)
return true;
}
return (charIdx == chars.length);
return charMatches(0, chars, 0, words, 0, allowWordOverleaping);
}
function stringsAtBeginningOfWords(strings, words, allowWordOverleaping)
@@ -510,8 +474,6 @@ function Hints() //{{{
return function (linkText)
{
liberator.dump(hintStrings);
if (hintStrings.length == 1 && hintStrings[0].length == 0)
return true;
@@ -613,7 +575,7 @@ function Hints() //{{{
function (count)
{
extendedhintCount = count;
commandline.input(";", function (arg) { setTimeout(function () hints.show(arg), 0); },
commandline.input(";", null,
{
promptHighlight: "Normal",
completer: function (context)
@@ -621,7 +583,8 @@ function Hints() //{{{
context.compare = function () 0;
context.completions = [[k, v.prompt] for ([k, v] in Iterator(hintModes))];
},
onChange: function () { modes.pop() }
onChange: function () { modes.pop() },
onCancel: function (arg) { arg && setTimeout(function () hints.show(arg), 0); },
});
}, { flags: Mappings.flags.COUNT });

View File

@@ -121,7 +121,7 @@ const liberator = (function () //{{{
let class = dir.map(function (dir) "html|html > xul|scrollbar[orient=" + dir + "]");
if (class.length)
styles.addSheet(true, "scrollbar", "*", class.join(", ") + " { visibility: collapse !important; }");
styles.addSheet(true, "scrollbar", "*", class.join(", ") + " { visibility: collapse !important; }", true);
else
styles.removeSheet(true, "scrollbar");
options.safeSetPref("layout.scrollbar.side", opts.indexOf("l") >= 0 ? 3 : 2);
@@ -264,7 +264,7 @@ const liberator = (function () //{{{
for (let [,dialog] in Iterator(dialogs))
{
if (arg == dialog[0])
if (util.compareIgnoreCase(arg, dialog[0]) == 0)
{
dialog[2]();
return;
@@ -281,7 +281,11 @@ const liberator = (function () //{{{
{
argCount: "1",
bang: true,
completer: function (context, args) completion.dialog(context)
completer: function (context)
{
context.ignoreCase = true;
return completion.dialog(context);
}
});
commands.add(["em[enu]"],
@@ -601,7 +605,7 @@ const liberator = (function () //{{{
forceNewTab: false,
// ###VERSION### and ###DATE### are replaced by the Makefile
// these VERSION and DATE tokens are replaced by the Makefile
version: "###VERSION### (created: ###DATE###)",
// NOTE: services.get("profile").selectedProfile.name is not rightness.
@@ -842,7 +846,7 @@ const liberator = (function () //{{{
// Number
else if (matches = string.match(/^(\d+)$/))
{
return parseInt(match[1], 10);
return parseInt(matches[1], 10);
}
let reference = this.variableReference(string);
@@ -1422,7 +1426,6 @@ window.liberator = liberator;
// FIXME: Ugly, etc.
window.addEventListener("liberatorHelpLink", function (event) {
let elem = event.target;
liberator.dump(String(elem));
if (/^(option|mapping|command)$/.test(elem.className))
var tag = elem.textContent.replace(/\s.*/, "");
if (elem.className == "command")

View File

@@ -80,7 +80,7 @@ Option.prototype = {
parseValues: function (value)
{
if (this.type == "stringlist")
return value.split(",");
return (value === "") ? [] : value.split(",");
if (this.type == "charlist")
return Array.slice(value);
return value;
@@ -203,9 +203,9 @@ Option.prototype = {
break;
case "number":
let value = parseInt(values); // deduce radix
let value = Number(values); // deduce radix
if (isNaN(value))
if (isNaN(value) || value != parseInt(value))
return "E521: Number required";
switch (operator)
@@ -335,7 +335,11 @@ function Options() //{{{
{
case "string":
if (type == Ci.nsIPrefBranch.PREF_INVALID || type == Ci.nsIPrefBranch.PREF_STRING)
services.get("pref").setCharPref(name, value);
{
let supportString = Cc["@mozilla.org/supports-string;1"].createInstance(Ci.nsISupportsString);
supportString.data = value;
services.get("pref").setComplexValue(name, Ci.nsISupportsString, supportString);
}
else if (type == Ci.nsIPrefBranch.PREF_INT)
liberator.echoerr("E521: Number required after =: " + name + "=" + value);
else

View File

@@ -182,7 +182,7 @@ function Highlights(name, store, serial)
{
css = style.selector + " { " + css + " }";
let error = styles.addSheet(true, style.selector, style.filter, css);
let error = styles.addSheet(true, style.selector, style.filter, css, true);
if (error)
return error;
}
@@ -235,6 +235,7 @@ function Highlights(name, store, serial)
this.set(class);
}
};
this.reload();
}
/**
@@ -257,7 +258,7 @@ function Styles(name, store, serial)
const namespace = '@namespace html "' + XHTML + '";\n' +
'@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";\n' +
'@namespace liberator "' + NS.uri + '";\n';
const Sheet = new Struct("name", "sites", "css", "ref");
const Sheet = new Struct("name", "sites", "css", "ref", "agent");
let cssUri = function (css) "chrome-data:text/css," + window.encodeURI(css);
@@ -285,7 +286,7 @@ function Styles(name, store, serial)
* "*" is matched as a prefix.
* @param {string} css The CSS to be applied.
*/
this.addSheet = function (system, name, filter, css)
this.addSheet = function (system, name, filter, css, agent)
{
let sheets = system ? systemSheets : userSheets;
let names = system ? systemNames : userNames;
@@ -294,7 +295,7 @@ function Styles(name, store, serial)
let sheet = sheets.filter(function (s) s.sites.join(",") == filter && s.css == css)[0];
if (!sheet)
sheet = new Sheet(name, filter.split(",").filter(util.identity), css, null);
sheet = new Sheet(name, filter.split(",").filter(util.identity), css, null, agent);
if (sheet.ref == null) // Not registered yet
{
@@ -302,6 +303,7 @@ function Styles(name, store, serial)
try
{
this.registerSheet(cssUri(wrapCSS(sheet)));
if (sheet.agent)
this.registerAgentSheet(cssUri(wrapCSS(sheet)))
}
catch (e)
@@ -410,7 +412,7 @@ function Styles(name, store, serial)
{
let sites = sheet.sites.filter(function (f) f != filter);
if (sites.length)
this.addSheet(system, name, sites.join(","), css);
this.addSheet(system, name, sites.join(","), css, sheet.agent);
}
}
return matches.length;
@@ -514,8 +516,11 @@ const styles = storage.newObject("styles", Styles, false);
*/
const highlight = storage.newObject("highlight", Highlights, false);
highlight.CSS = Highlights.prototype.CSS;
highlight.reload();
if (highlight.CSS != Highlights.prototype.CSS)
{
highlight.CSS = Highlights.prototype.CSS;
highlight.reload();
}
liberator.triggerObserver("load_styles", "styles");
liberator.triggerObserver("load_highlight", "highlight");

View File

@@ -133,9 +133,9 @@ const template = {
highlight: function highlight(arg, processStrings, clip)
{
// some objects like window.JSON or getBrowsers()._browsers need the try/catch
let str = clip ? util.clip(String(arg), clip) : String(arg);
try
{
let str = clip ? util.clip(String(arg), clip) : String(arg);
switch (arg == null ? "undefined" : typeof arg)
{
case "number":

View File

@@ -529,7 +529,7 @@ function CommandLine() //{{{
autocompleteTimer.tell(false);
});
liberator.registerCallback("cancel", modes.PROMPT, closePrompt);
liberator.registerCallback("cancel", modes.PROMPT, cancelPrompt);
liberator.registerCallback("submit", modes.PROMPT, closePrompt);
liberator.registerCallback("change", modes.PROMPT, function (str) {
if (input.complete)
@@ -542,6 +542,14 @@ function CommandLine() //{{{
context.fork("input", 0, commandline, input.complete);
});
function cancelPrompt(value)
{
let callback = input.cancel;
input = {};
if (callback)
callback.call(commandline, value != null ? value : commandline.command);
}
function closePrompt(value)
{
let callback = input.submit;
@@ -1008,10 +1016,9 @@ function CommandLine() //{{{
set silent(val)
{
silent = val;
if (silent)
storage.styles.addSheet(true, "silent-mode", "chrome://*", "#liberator-commandline > * { opacity: 0 }");
else
storage.styles.removeSheet(true, "silent-mode");
Array.forEach(document.getElementById("liberator-commandline").childNodes, function (node) {
node.style.opacity = silent ? "0" : "";
});
},
runSilently: function (fn, self)
@@ -1214,6 +1221,7 @@ function CommandLine() //{{{
submit: callback,
change: extra.onChange,
complete: extra.completer,
cancel: extra.onCancel,
};
modes.push(modes.COMMAND_LINE, modes.PROMPT);
@@ -1285,7 +1293,8 @@ function CommandLine() //{{{
}
else if (event.type == "input")
{
//this.resetCompletions(); -> already handled by "keypress" below (hopefully), so don't do it twice
//liberator.dump("input: " + command);
this.resetCompletions();
liberator.triggerCallback("change", currentExtendedMode, command);
}
else if (event.type == "keypress")
@@ -1333,7 +1342,7 @@ function CommandLine() //{{{
else if (key == "<BS>")
{
// reset the tab completion
this.resetCompletions();
//this.resetCompletions();
// and blur the command line if there is no text left
if (command.length == 0)
@@ -1344,7 +1353,7 @@ function CommandLine() //{{{
}
else // any other key
{
this.resetCompletions();
//this.resetCompletions();
}
return true; // allow this event to be handled by Firefox
}
@@ -1769,7 +1778,7 @@ function ItemList(id) //{{{
</div>
</div>, divNodes);
doc.body.replaceChild(div, doc.body.firstChild);
div.scrollIntoView(true);
//div.scrollIntoView(true);
items.contextList.forEach(function init_eachContext(context) {
delete context.cache.nodes;
@@ -1952,7 +1961,7 @@ function ItemList(id) //{{{
if (index >= 0)
{
getCompletion(index).setAttribute("selected", "true");
getCompletion(index).scrollIntoView(false);
//getCompletion(index).scrollIntoView(false);
}
//if (index == 0)

View File

@@ -519,25 +519,28 @@ const util = { //{{{
},
/**
* A generator that returns the values between <b>start</b> and <b>end</b>.
* If <b>reverse</b> is true then the values are returned in reverse order.
* A generator that returns the values between <b>start</b> and <b>end</b>,
* in <b>step</b> increments.
*
* @param {number} start The interval's start value.
* @param {number} end The interval's end value.
* @param {boolean} reverse Reverse the order in which the values are produced.
* @param {boolean} step The value to step the range by. May be
* negative. @default 1
* @returns {Iterator(Object)}
*/
range: function range(start, end, reverse)
range: function range(start, end, step)
{
if (!reverse)
if (!step)
step = 1;
if (step > 0)
{
while (start < end)
yield start++;
for (; start < end; start += step)
yield start;
}
else
{
while (start > end)
yield --start;
yield start += step;
}
},
@@ -669,6 +672,13 @@ const util = { //{{{
xmlToDom: function xmlToDom(node, doc, nodes)
{
XML.prettyPrinting = false;
if (node.length() != 1)
{
let domnode = doc.createDocumentFragment();
for each (let child in node)
domnode.appendChild(arguments.callee(child, doc, nodes));
return domnode;
}
switch (node.nodeKind())
{
case "text":

View File

@@ -103,7 +103,8 @@ const config = { //{{{
],
// they are sorted by relevance, not alphabetically
helpFiles: ["intro.html"],/* "tutorial.html", "starting.html",
helpFiles: ["intro.html", "version.html"],
/* "tutorial.html", "starting.html",
"browsing.html", "buffer.html", "pattern.html", "options.html",
"tabs.html", "hints.html", "map.html", "eval.html", "marks.html",
"repeat.html", "autocommands.html", "print.html", "developer.html",

View File

@@ -995,12 +995,13 @@ function Mail() //{{{
// TODO: find out why, and solve the problem
try
{
var msgs = folder.getMessages(msgWindow);
var msgs = folder.messages;
}
catch (e)
{
liberator.dump("ERROR: " + folder.prettyName + " failed to getMessages\n");
continue;
var msgs = folder.getMessages(msgWindow); // for older thunderbirds
liberator.dump("WARNING: " + folder.prettyName + " failed to getMessages, trying old API");
//continue;
}
while (msgs.hasMoreElements())

View File

@@ -0,0 +1,9 @@
VIMBALL = muttator.vba
vimball: mkvimball.txt syntax/muttator.vim ftdetect/muttator.vim
-echo '%MkVimball! ${VIMBALL} .' | vim -u NORC -N -e -s mkvimball.txt
all: vimball
clean:
rm -f ${VIMBALL}

View File

@@ -0,0 +1,2 @@
" TODO: what's the Muttator filename extension?
au BufNewFile,BufRead *muttatorrc*,*.muttator set filetype=muttator

View File

@@ -0,0 +1,2 @@
syntax/muttator.vim
ftdetect/muttator.vim

View File

@@ -0,0 +1,100 @@
" Vim syntax file
" Language: Muttator configuration file
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2009 Feb 19
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn include @javascriptTop syntax/javascript.vim
unlet b:current_syntax
syn include @cssTop syntax/css.vim
unlet b:current_syntax
syn match muttatorCommandStart "\%(^\s*:\=\)\@<=" nextgroup=muttatorCommand,muttatorAutoCmd
syn keyword muttatorCommand ab[breviate] ab[clear] addo[ns] addr[essbook] bN[ext] bd[elete] beep bf[irst] bl[ast] bn[ext]
\ bp[revious] br[ewind] bun[load] bw[ipeout] ca[bbrev] cabc[lear] cd chd[ir] cm[ap] cmapc[lear] cno[remap] colo[rscheme]
\ com[mand] comc[lear] con[tact] contacts copy[to] cu[nmap] cuna[bbrev] delc[ommand] delm[arks] delmac[ros] dels[tyle]
\ dia[log] do[autocmd] doautoa[ll] ec[ho] echoe[rr] echom[sg] em[enu] empty[trash] exe[cute] exu[sage] fini[sh] get[messages]
\ go[to] h[elp] ha[rdcopy] hi[ghlight] ia[bbrev] iabc[lear] im[ap] imapc[lear] ino[remap] iu[nmap] iuna[bbrev] javas[cript] js
\ let loadplugins lpl m[ail] ma[rk] macros map mapc[lear] marks mes[sages] mkm[uttatorrc] mm[ap] mmapc[lear] mu[nmap]
\ mno[remap] move[to] no[remap] norm[al] optionu[sage] pa[geinfo] pagest[yle] pc[lose] pl[ay] pref[erences] prefs pw[d] q[uit]
\ re[load] res[tart] run runt[ime] sav[eas] scrip[tnames] se[t] setg[lobal] setl[ocal] so[urce] st[op] sty[le] tN[ext] t[open]
\ tab tabN[ext] tabc[lose] tabfir[st] tabl[ast] tabn[ext] tabp[revious] tabr[ewind] time tn[ext] tp[revious] una[bbreviate]
\ unl[et] unm[ap] ve[rsion] vie[wsource] viu[sage] w[rite] zo[om]
\ contained
syn match muttatorCommand "!" contained
syn keyword muttatorAutoCmd au[tocmd] contained nextgroup=muttatorAutoEventList skipwhite
syn keyword muttatorAutoEvent BookmarkAdd DOMLoad LocationChange PageLoadPre PageLoad ShellCmdPost muttatorEnter
\ muttatorLeavePre muttatorLeave
\ contained
syn match muttatorAutoEventList "\(\a\+,\)*\a\+" contained contains=muttatorAutoEvent
syn region muttatorSet matchgroup=muttatorCommand start="\%(^\s*:\=\)\@<=\<\%(setl\%[ocal]\|setg\%[lobal]\|set\=\)\=\>"
\ end="$" keepend oneline contains=muttatorOption,muttatorString
syn keyword muttatorOption archivefolder cdpath cd complete cpt editor eventignore ei extendedhinttags eht followhints fh
\ guioptions go helpfile hf hintmatching hm hinttags ht hinttimeout hto history hi laststatus ls layout messages msgs
\ nextpattern pageinfo pa previouspattern runtimepath rtp scroll scr shell sh shellcmdflag shcf showstatuslinks ssli
\ showtabline stal suggestengines urlseparator verbose vbs wildcase wic wildignore wig wildmode wim wildoptions wop
\ wordseparators wsp
\ contained nextgroup=muttatorSetMod
" toggle options
syn match muttatorOption "\<\%(no\|inv\)\=\%(autoexternal\|errorbells\|eb\|exrc\|ex\|focuscontent\|fc\|fullscreen\|fs\)\>!\="
\ contained nextgroup=muttatorSetMod
syn match muttatorOption "\<\%(no\|inv\)\=\%(insertmode\|im\|loadplugins\|lpl\|more\|showmode\|smd\|visualbell\|vb\)\>!\="
\ contained nextgroup=muttatorSetMod
syn match muttatorOption "\<\%(no\|inv\)\=\%(usermode\|um\)\>!\="
\ contained nextgroup=muttatorSetMod
syn match muttatorSetMod "\%(\<[a-z_]\+\)\@<=&" contained
syn region muttatorJavaScript start="\%(^\s*\%(javascript\|js\)\s\+\)\@<=" end="$" contains=@javascriptTop keepend oneline
syn region muttatorJavaScript matchgroup=muttatorJavascriptDelimiter
\ start="\%(^\s*\%(javascript\|js\)\s\+\)\@<=<<\s*\z(\h\w*\)"hs=s+2 end="^\z1$" contains=@javascriptTop fold
let s:cssRegionStart = '\%(^\s*sty\%[le]!\=\s\+\%(-\%(n\|name\)\%(\s\+\|=\)\S\+\s\+\)\=[^-]\S\+\s\+\)\@<='
execute 'syn region muttatorCss start="' . s:cssRegionStart . '" end="$" contains=@cssTop keepend oneline'
execute 'syn region muttatorCss matchgroup=muttatorCssDelimiter'
\ 'start="' . s:cssRegionStart . '<<\s*\z(\h\w*\)"hs=s+2 end="^\z1$" contains=@cssTop fold'
syn match muttatorNotation "<[0-9A-Za-z-]\+>"
syn match muttatorComment +".*$+ contains=muttatorTodo,@Spell
syn keyword muttatorTodo FIXME NOTE TODO XXX contained
syn region muttatorString start="\z(["']\)" end="\z1" skip="\\\\\|\\\z1" oneline
syn match muttatorLineComment +^\s*".*$+ contains=muttatorTodo,@Spell
" NOTE: match vim.vim highlighting group names
hi def link muttatorAutoCmd muttatorCommand
hi def link muttatorAutoEvent Type
hi def link muttatorCommand Statement
hi def link muttatorComment Comment
hi def link muttatorJavascriptDelimiter Delimiter
hi def link muttatorCssDelimiter Delimiter
hi def link muttatorNotation Special
hi def link muttatorLineComment Comment
hi def link muttatorOption PreProc
hi def link muttatorSetMod muttatorOption
hi def link muttatorString String
hi def link muttatorTodo Todo
let b:current_syntax = "muttator"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: tw=130 et ts=4 sw=4:

View File

@@ -19,8 +19,8 @@
<em:targetApplication>
<Description>
<em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
<em:minVersion>3.0a1pre</em:minVersion>
<em:maxVersion>3.0b2pre</em:maxVersion>
<em:minVersion>3.0b2pre</em:minVersion>
<em:maxVersion>3.0b2</em:maxVersion>
</Description>
</em:targetApplication>

View File

@@ -1 +0,0 @@
../../../common/Makefile.doc

View File

@@ -0,0 +1,2 @@
BASE = ../../../common
include $(BASE)/Makefile.doc

View File

@@ -7,6 +7,10 @@ Developers:
* Tim Hammerquist (penryu@gmail.com)
* Konstantin Stepanov (milezv@yandex.ru)
* Kris Maglione
* Ted Pavlic <ted@tedpavlic.com>
* anekos <anekos@snca.net>
* teramako <teramako@gmail.com>
* janus_wel <janus.wel.3@gmail.com>
Inactive/former developers:
* Viktor Kojouharov (Виктор Кожухаров)
@@ -33,3 +37,4 @@ Patches (in no special order):
* Raimon Grau Cuscó (document relationship navigation - ]], [[)
* Ryan Zheng (ctrl-x/a support)
* Dan Boger (:set online support)
* Štěpán Němec (help copy-editing and favicon support)

View File

@@ -1,7 +1,16 @@
Contiuous donations:
Continuous donations:
* Daniel Bainton (web hosting)
2009:
* Convolution
* Brian Hall
* Daniel Hahler
* Per-Henrik Persson
* David C Foor
* Oliver Schaefer
* Paul Moss
* Yongji Zhang
* Brian Peiris
* Peleg Michaeli ("Every hand revealed" from my amazon.de wishlist)
* InspireFocus
* Michael Fremont

View File

@@ -1,6 +1,6 @@
#### configuration
VERSION = 2.0pre
VERSION = 2.0b3pre
NAME = vimperator
include ../common/Makefile.common

View File

@@ -12,7 +12,7 @@
* IMPORTANT: Due to much improved autocompletion, changed default 'complete' option
value to 'sfl', listing intelligent Firefox location bar results. Removed possibility
to use 'h' in 'complete'.
* IMPORTANT: AlwaysHint mode with ;F mode changed the semantics slightly
* IMPORTANT: AlwaysHint mode with ;F mode changed the semantics slightly.
* IMPORTANT: command actions now take an args object, returned from
commands.parseArgs, as their first argument. This will break any commands
not using the args parser explicitly. The old string value is now
@@ -20,10 +20,10 @@
* IMPORTANT: 'verbose' is now used for message levels. Logging is
controlled by the extensions.liberator.loglevel preference.
* IMPORTANT: :viusage and :exusage now jump to the help index, use the
special versions for the old behavior
special versions for the old behavior.
* IMPORTANT: renamed Startup and Quit autocmd events to VimperatorEnter and
VimperatorLeave respectively
* IMPORTANT: 'verbose' is now by default at 1, set to 0 to not show any status messages
VimperatorLeave respectively.
* IMPORTANT: 'verbose' is now by default at 1, set to 0 to not show any status messages.
* IMPORTANT: $VIMPERATOR_HOME is no longer used.
* [count]<C-n> now goes to the [count]th next tab rather than the [count]th tab.
@@ -58,7 +58,7 @@
* much improved completion support, including javascript, option, and search keyword
* add <PageUp>/<S-Up> and <PageDown>/<S-Down> command-line mappings for
selecting the previous and next history items
* remove 'hintstyle', 'hlsearchstyle' and 'visualbellstyle' - use
* remove 'hintstyle', 'hlsearchstyle', 't_vb' and 'visualbellstyle' - use
:highlight {Hint,Search,Bell}
* add :highlight
* add :optionusage
@@ -86,6 +86,7 @@
* :qa! and :q! quit forcefully, as in vim
* stop macro playback on <C-c>
* :bmark now updates a bookmark, if possible. :bmark! adds a new one
* :dialog and :sidebar arguments are now case-insensitive
* many bug fixes
2008-08-16:
@@ -151,7 +152,7 @@
2008-05-14:
* version 1.0
* THIS VERSION ONLY WORKS WITH FIREFOX 3.0 beta3 or newer
* IMPORTANT: THIS VERSION ONLY WORKS WITH FIREFOX 3.0 beta3 or newer
* IMPORTANT: Major hints rewrite
read up the new help for the f, F and ; commands for details
removed the following hint options: 'hintchars' 'maxhints'
@@ -210,7 +211,7 @@
2007-12-21:
* version 0.5.3
* IMPORTANT! options are no longer automatically stored - use the
* IMPORTANT: options are no longer automatically stored - use the
~/.vimperatorrc file instead for persistent options
* :tabnext and :tabprevious now accept an argument
* the count to gT now specifies a relative tab motion like Vim
@@ -379,7 +380,7 @@
* added 'n' and 'N' to repeat a search
* many small bug fixes
17/04/2007:
2007-04-17:
* version 0.3
* added Ctrl-v support to pass one key to firefox (patch by Muthu Kannan)
* also 'I' will go to 'ignorekeys' mode until esc is pressed, presenting a workaround
@@ -392,6 +393,6 @@
* ability to use shift and ctrl with special keys like F1 in mappings
* small documentation and other fixes
11/04/2007:
2007-04-11:
* version 0.2
* first public release

View File

@@ -18,6 +18,10 @@ BUGS:
- :sidebar improvements (:sidebar! Downloads while downloads is open should refocus the sidebar)
- ;s saves the page rather than the image
- http://cgiirc.blitzed.org?chan=%23debug is unusable after login in
- "g<" fails without a trailing escape because both "g<" and "g<C-g>"
are mapped. Vimp should recognize "<C-g>" as an atom that should not
be matched literally. In fact, typing "g<C-g>" out literally is
equivalent to typing "g" and then <C-g>.
(recent CVS regressions):
- :set noflashblock seems broken (= :set fb? afterwards says "fb"), let's see if that's a
@@ -29,10 +33,16 @@ BUGS:
=> it often overwrites the open command line while editing etc.
- <tags> and <keyword> autocmd 'keywords' are not available when adding a
bookmark - they're being set after the observer triggers the autocmd event.
- MOW is broken for multiple commands when open E.g. :ls | ls
- MOW rendering is broken for multiple commands when open E.g. :ls | ls
- completion height is broken, try :a<tab>....<tab>, when it wraps it's totally off.
and even if it is not totally off, i had it jump by one pixel when wrapping around.
If that's unfixable, i propose reverting the new completion height stuff.
- Windows paths have escaped backslashes in messages - presumably due to
String#quote change.
- :messages is _very_ slow for message history of several thousand lines ->
Unresponsive Script: util.js:79 (sometimes xmlToDom() and elsewhere)
- :hardcopy! seems to be broken for me
- MOW hinting is broken, perhaps this should be properly disabled for 2.0
FEATURES:
9 finish :help TODOs
@@ -69,7 +79,7 @@ FEATURES:
google to another page and click 10 links there, [d would take me back to the google page
opera's fast forward does something like this
7 make an option to disable session saving by default when you close Firefox
7 The output of the pageinfo-command sould contain the security-information of ssl-encrypted sites
7 The output of the pageinfo-command should contain the security-information of ssl-encrypted sites
7 Add :every command
6 support private mode (and :set [no]private): http://ehsanakhgari.org/blog/2008-11-08/prepare-your-add-private-browsing
6 add [count] support to :b* and :tab* commands where missing

View File

@@ -711,7 +711,7 @@ function History() //{{{
if (url)
{
let sh = window.getWebNavigation().sessionHistory;
for (let i in util.range(sh.index, 0, true))
for (let i in util.range(sh.index, 0, -1))
{
if (sh.getEntryAtIndex(i, false).URI.spec == url)
{
@@ -735,7 +735,7 @@ function History() //{{{
let sh = window.getWebNavigation().sessionHistory;
context.anchored = false;
context.completions = [sh.getEntryAtIndex(i, false) for (i in util.range(sh.index, 0, true))];
context.completions = [sh.getEntryAtIndex(i, false) for (i in util.range(sh.index, 0, -1))];
context.keys = { text: function (item) item.URI.spec, description: "title" };
},
count: true,
@@ -1043,8 +1043,7 @@ function QuickMarks() //{{{
list: function list(filter)
{
let marks = [key for ([key, val] in qmarks)];
// This was a lot nicer without the lambda...
let marks = [k for ([k, v] in qmarks)];
let lowercaseMarks = marks.filter(function (x) /[a-z]/.test(x)).sort();
let uppercaseMarks = marks.filter(function (x) /[A-Z]/.test(x)).sort();
let numberMarks = marks.filter(function (x) /[0-9]/.test(x)).sort();

View File

@@ -117,7 +117,7 @@ const config = { //{{{
"pattern.html", "tabs.html", "hints.html", "map.html", "eval.html",
"marks.html", "repeat.html", "autocommands.html", "print.html",
"gui.html", "styling.html", "message.html", "developer.html",
"various.html", "index.html"
"various.html", "index.html", "version.html"
],
scripts: [
@@ -372,9 +372,10 @@ const config = { //{{{
function (args)
{
let arg = args.literalArg;
function compare(a, b) util.compareIgnoreCase(a, b) == 0
// focus if the requested sidebar is already open
if (document.getElementById("sidebar-title").value == arg)
if (compare(document.getElementById("sidebar-title").value, arg))
{
document.getElementById("sidebar-box").focus();
return;
@@ -384,7 +385,7 @@ const config = { //{{{
for (let [,panel] in Iterator(menu.childNodes))
{
if (panel.label == arg)
if (compare(panel.label, arg))
{
panel.doCommand();
return;
@@ -395,7 +396,11 @@ const config = { //{{{
},
{
argCount: "1",
completer: function (context) completion.sidebar(context),
completer: function (context)
{
context.ignoreCase = true;
return completion.sidebar(context);
},
literal: 0
});

View File

@@ -0,0 +1,9 @@
VIMBALL = vimperator.vba
vimball: mkvimball.txt syntax/vimperator.vim ftdetect/vimperator.vim
-echo '%MkVimball! ${VIMBALL} .' | vim -u NORC -N -e -s mkvimball.txt
all: vimball
clean:
rm -f ${VIMBALL}

View File

@@ -0,0 +1 @@
au BufNewFile,BufRead *vimperatorrc*,*.vimp set filetype=vimperator

View File

@@ -0,0 +1,2 @@
syntax/vimperator.vim
ftdetect/vimperator.vim

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: VIMperator configuration file
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2008 Dec 31
" Last Change: 2009 Feb 19
if exists("b:current_syntax")
finish
@@ -18,18 +18,18 @@ unlet b:current_syntax
syn match vimperatorCommandStart "\%(^\s*:\=\)\@<=" nextgroup=vimperatorCommand,vimperatorAutoCmd
syn keyword vimperatorCommand ab[breviate] ab[clear] addo[ns] b[uffer] ba[ck] bd[elete] beep bf[irst] bl[ast] bma[rk] bmarks
\ bn[ext] bN[ext] bp[revious] br[ewind] buffers bun[load] bw[ipeout] ca[bbrev] cabc[lear] cd chd[ir] colo[rscheme] cuna[bbrev]
\ cm[ap] cmapc[lear] cno[remap] comc[lear] com[mand] cu[nmap] do[autocmd] doautoa[ll] delbm[arks] delc[ommand] delmac[ros]
\ delm[arks] delqm[arks] dels[tyle] dia[log] dl downl[oads] e[dit] ec[ho] echoe[rr] echom[sg] em[enu] exe[cute] exu[sage]
\ fini[sh] files fo[rward] fw h[elp] ha[rdcopy] hi[ghlight] hist[ory] hs ia[bbrev] iabc[lear] im[ap] imapc[lear] ino[remap]
\ iuna[bbrev] iu[nmap] javas[cript] ju[mps] js let loadplugins lpl ls macros ma[rk] map mapc[lear] marks mes[sages]
syn keyword vimperatorCommand ab[breviate] ab[clear] addo[ns] bN[ext] b[uffer] ba[ck] bd[elete] beep bf[irst] bl[ast] bma[rk]
\ bmarks bn[ext] bp[revious] br[ewind] buffers bun[load] bw[ipeout] ca[bbrev] cabc[lear] cd chd[ir] cm[ap] cmapc[lear]
\ cno[remap] colo[rscheme] com[mand] comc[lear] cu[nmap] cuna[bbrev] delbm[arks] delc[ommand] delm[arks] delmac[ros]
\ delqm[arks] dels[tyle] dia[log] dl do[autocmd] doautoa[ll] downl[oads] e[dit] ec[ho] echoe[rr] echom[sg] em[enu] exe[cute]
\ exu[sage] files fini[sh] fo[rward] fw h[elp] ha[rdcopy] hi[ghlight] hist[ory] hs ia[bbrev] iabc[lear] im[ap] imapc[lear]
\ ino[remap] iu[nmap] iuna[bbrev] javas[cript] js ju[mps] let loadplugins lpl ls ma[rk] macros map mapc[lear] marks mes[sages]
\ mkv[imperatorrc] no[remap] noh[lsearch] norm[al] o[pen] optionu[sage] pa[geinfo] pagest[yle] pc[lose] pl[ay] pref[erences]
\ prefs pw[d] q[uit] qa[ll] qma[rk] qmarks quita[ll] re[draw] re[load] reloada[ll] res[tart] run runt[ime] sty[le] sav[eas]
\ sb[ar] sb[open] sbcl[ose] scrip[tnames] se[t] setg[lobal] setl[ocal] sideb[ar] so[urce] st[op] tN[ext] t[open] tab
\ tabde[tach] tabd[uplicate] tabN[ext] tabc[lose] tabe[dit] tabfir[st] tabl[ast] tabm[ove] tabn[ext] tabnew tabo[nly] tabopen
\ prefs pw[d] q[uit] qa[ll] qma[rk] qmarks quita[ll] re[draw] re[load] reloada[ll] res[tart] run runt[ime] sav[eas] sb[ar]
\ sb[open] sbcl[ose] scrip[tnames] se[t] setg[lobal] setl[ocal] sideb[ar] so[urce] st[op] sty[le] tN[ext] t[open] tab
\ tabN[ext] tabc[lose] tabd[uplicate] tabde[tach] tabe[dit] tabfir[st] tabl[ast] tabm[ove] tabn[ext] tabnew tabo[nly] tabopen
\ tabp[revious] tabr[ewind] tabs time tn[ext] tp[revious] u[ndo] una[bbreviate] undoa[ll] unl[et] unm[ap] ve[rsion]
\ vie[wsource] viu[sage] w[rite] wc[lose] win[open] winc[lose] wine[dit] wo[pen] wqa[ll] wq xa[ll] zo[om]
\ vie[wsource] viu[sage] w[rite] wc[lose] win[open] winc[lose] wine[dit] wo[pen] wq wqa[ll] xa[ll] zo[om]
\ contained
syn match vimperatorCommand "!" contained
@@ -45,11 +45,11 @@ syn match vimperatorAutoEventList "\(\a\+,\)*\a\+" contained contains=vimperator
syn region vimperatorSet matchgroup=vimperatorCommand start="\%(^\s*:\=\)\@<=\<\%(setl\%[ocal]\|setg\%[lobal]\|set\=\)\=\>"
\ end="$" keepend oneline contains=vimperatorOption,vimperatorString
syn keyword vimperatorOption activate act alfc albc cdpath cd complete cpt defsearch ds editor extendedhinttags eht eventignore ei
\ followhints fh guioptions go helpfile hf hintmatching hm hs hinttags ht hinttimeout hto history hi laststatus ls lbc lfc
\ messages msgs newtab nextpattern pageinfo pa popups pps previewheight pvh previouspattern runtimepath rtp scroll scr shell
\ sh shellcmdflag shcf showstatuslinks ssli showtabline stal suggestengines titlestring urlseparator verbose vbs t_vb wildcase
\ wic wildignore wig wildmode wim wildoptions wop wordseparators wsp
syn keyword vimperatorOption activate act cdpath cd complete cpt defsearch ds editor eventignore ei extendedhinttags eht
\ followhints fh guioptions go helpfile hf hintmatching hm hinttags ht hinttimeout hto history hi laststatus ls messages msgs
\ newtab nextpattern pageinfo pa popups pps previouspattern runtimepath rtp scroll scr shell sh shellcmdflag shcf
\ showstatuslinks ssli showtabline stal suggestengines titlestring urlseparator verbose vbs wildcase wic wildignore wig
\ wildmode wim wildoptions wop wordseparators wsp
\ contained nextgroup=vimperatorSetMod
" toggle options

View File

@@ -1 +0,0 @@
../../../common/Makefile.doc

View File

@@ -0,0 +1,2 @@
BASE = ../../../common
include $(BASE)/Makefile.doc

View File

@@ -13,6 +13,7 @@ email=stubenschrott@gmx.net
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset={encoding=UTF-8}" />
<meta name="generator" content="AsciiDoc {asciidoc-version}" />
<link rel="stylesheet" href="xhtml11.css" type="text/css" />
<link rel="icon" href="chrome://vimperator/skin/icon.png" type="image/png" />
<script type="application/x-javascript;version=1.8" src="help.js"></script>
<title>{doctitle}</title>
</head>
@@ -27,7 +28,7 @@ HEADER=<div style="float: right; padding-left: 1px;"> <form action="https://www.
\[count\]=<span class="argument">&#91;count&#93;</span>
\[!\]=<span class="argument">&#91;!&#93;</span>
# [macros]
[macros]
# section:Introduction[tag1,tag2]
(?su)(?<!\S)[\\]?\|(?P<attrlist>.+?)\|(?!\+)=section
# help:helptext[href]
@@ -55,6 +56,7 @@ HEADER=<div style="float: right; padding-left: 1px;"> <form action="https://www.
[m]=#mapping
[a]=#argument
# FIXME: this prevents all asciidoc attribute processing
# ^obviously it doesn't? --stepnem
{|}=argument2
# disable monospaced text as all our text is monospaced and it causes problems for some things
+=
@@ -74,7 +76,7 @@ argument2=<span class="argument">&\#123;|&#125;</span>
argument3=<span class="argument">[|]</span>
[specialwords]
warningwords=WARNING: Warning:
warningwords=WARNING: Warning: IMPORTANT: Important:
infowords=NOTE: Note:
[warningwords]

View File

@@ -6,8 +6,10 @@ Autocommands are a way to automatically execute code when certain events
happen.
|:au| |:autocmd| +
||:au[tocmd]|| Execute commands automatically on events.
||:au[tocmd]||
________________________________________________________________________________
Execute commands automatically on events.
[c]:au[tocmd][c] {event} {pat} {cmd}
Add {cmd} to the list of commands Vimperator will execute on {event} for a URL matching {pat}:
@@ -26,9 +28,9 @@ Available {events}:
*DownloadPost* Triggered when a download has completed
*Fullscreen* Triggered when the browser's fullscreen state changes
*LocationChange* Triggered when changing tabs or when navigating to a new location
*PageLoadPre* Triggered after a page load is initiated.
*PageLoadPre* Triggered after a page load is initiated
*PageLoad* Triggered when a page gets (re)loaded/opened
*ShellCmdPost* Triggered after executing a shell command with :!cmd
*ShellCmdPost* Triggered after executing a shell command with [c]:![c]#{cmd}
*VimperatorEnter* Triggered after Firefox starts
*VimperatorLeavePre* Triggered before exiting Firefox, just before destroying each module
*VimperatorLeave* Triggered before exiting Firefox
@@ -43,7 +45,7 @@ The following keywords are available where relevant:
`--------------`----------------------------------------------
*<url>* The URL against which the event was selected.
*<title>* The page, bookmark or download title.
*<tab>* The index tab in which the event occurred.
*<tab>* The tab in which the event occurred.
*<tags>* The tags applied to <url>. Only for *BookmarkAdd*.
*<keyword>* The keywords applied to the bookmark. Only for *BookmarkAdd*.
*<icon>* The icon associated with <url>. Only for *BookmarkAdd*.
@@ -75,15 +77,15 @@ section:Examples[autocmd-examples]
Enable _passthrough_ mode on all Google sites:
:autocmd LocationChange .* js modes.passAllKeys = /google\.com/.test(buffer.URL)
\{nbsp}[c]:autocmd LocationChange .* js modes.passAllKeys = /google\.com/.test(buffer.URL)[c]
Enable _passthrough_ mode on *some* Google sites:
:autocmd LocationChange .* js modes.passAllKeys = /(www|mail)\.google\.com/.test(buffer.URL)
\{nbsp}[c]:autocmd LocationChange .* js modes.passAllKeys = /(www|mail)\.google\.com/.test(buffer.URL)[c]
Set the filetype to mail when editing email at Gmail:
:autocmd LocationChange .* :set editor=gvim\ -f
:autocmd LocationChange mail\.google\.com :set editor="gvim -f -c 'set ft=mail'"
\{nbsp}[c]:autocmd LocationChange .* :set editor=gvim\ -f[c] +
\{nbsp}[c]:autocmd LocationChange mail\.google\.com :set editor="gvim -f -c 'set ft=mail'"[c]
// vim: set filetype=asciidoc:

View File

@@ -35,7 +35,7 @@ section:Opening{nbsp}web{nbsp}pages[opening]
________________________________________________________________________________
Open one or more URLs in the current tab.
Multiple URLs can be separated with 'urlseparator' (default: ", " Note that the
space after the comma is required.")
space after the comma is required.)
The first URL is opened in the current tab, and all other URLs are
opened in new tabs.
Each token is analyzed and in this order:
@@ -71,7 +71,7 @@ ________________________________________________________________________________
||t||
________________________________________________________________________________
Just like [c]:open[c] but also uses a new tab for the first URL. When
used with [!], the 'tabopen' value of the 'activate' option is negated.
used with [!], the *tabopen* value of the 'activate' option is negated.
________________________________________________________________________________
@@ -86,9 +86,9 @@ ________________________________________________________________________________
|:tabd| |:tabduplicate|
||:[count]tabd[uplicate][!]|| +
________________________________________________________________________________
Duplicates current tab [count] times. Uses 'tabopen' value of the 'activate' to
determine if last cloned tab should be activated. When used with [!], 'tabopen'
value is negated.
Duplicates current tab [count] times. Uses *tabopen* value of the 'activate'
option to determine if the last cloned tab should be activated. When used with
[!], *tabopen* value is negated.
________________________________________________________________________________
@@ -138,7 +138,7 @@ ________________________________________________________________________________
||[count]<C-x>||
________________________________________________________________________________
Decrements the last number in URL by 1, or by [count] if given. Negative
numbers are not supported, as this not generally useful, so the number cannot
numbers are not supported, as this is not generally useful, so the number cannot
be decremented past 0.
________________________________________________________________________________
@@ -160,22 +160,22 @@ ________________________________________________________________________________
section:Navigating[navigating]
|H| |<C-o>| |CTRL-O| |:ba| |:back|
||:[count]ba[ck] {url}|| +
||:[count]ba[ck] [url]|| +
||:ba[ck]!|| +
||CTRL-o||
________________________________________________________________________________
Go [count] pages back in the browser history. If {url} is specified go back to
Go [count] pages back in the browser history. If [url] is specified go back to
the first matching URL. The special version [c]:back![c] goes to the beginning
of the browser history.
________________________________________________________________________________
|L| |<C-i>| |CTRL-i| |:fo| |:fw| |:forward|
||:[count]fo[rward] {url}|| +
||:[count]fo[rward] [url]|| +
||:fo[rward]!|| +
||CTRL-i||
________________________________________________________________________________
Go [count] pages forward in the browser history. If {url} is specified go
Go [count] pages forward in the browser history. If [url] is specified go
forward to the first matching URL. The special version [c]:forward![c] goes to
the end of the browser history.
________________________________________________________________________________
@@ -311,7 +311,7 @@ ________________________________________________________________________________
||:xa[ll]||
________________________________________________________________________________
Save the session and quit. Quit Vimperator, no matter how many tabs/windows
are open. The session is stored. [c]:wq[c] is different as in Vim, as it
are open. The session is stored. [c]:wq[c] is different from Vim, as it
closes the window instead of just one tab by popular demand. Complain on the
mailing list, if you want to change that.
________________________________________________________________________________

View File

@@ -243,28 +243,28 @@ between 0 and 1, not as a percentage.
|+| |zi| +
||[count]zi||
________________________________________________________________________________
Enlarge text zoom of current web page. Mnemonic: zoom in
Enlarge text zoom of current web page. Mnemonic: zoom in.
________________________________________________________________________________
|zm| +
||[count]zm||
________________________________________________________________________________
Enlarge text zoom of current web page by a larger amount. Mnemonic: zoom more
Enlarge text zoom of current web page by a larger amount. Mnemonic: zoom more.
________________________________________________________________________________
|-| |zo| +
||[count]zo||
________________________________________________________________________________
Reduce text zoom of current web page. Mnemonic: zoom out
Reduce text zoom of current web page. Mnemonic: zoom out.
________________________________________________________________________________
|zr| +
||[count]zr||
________________________________________________________________________________
Reduce text zoom of current web page by a larger amount. Mnemonic: zoom reduce
Reduce text zoom of current web page by a larger amount. Mnemonic: zoom reduce.
________________________________________________________________________________
@@ -279,28 +279,28 @@ ________________________________________________________________________________
|zI| +
||[count]zI||
________________________________________________________________________________
Enlarge full zoom of current web page. Mnemonic: zoom in
Enlarge full zoom of current web page. Mnemonic: zoom in.
________________________________________________________________________________
|zM| +
||[count]zM||
________________________________________________________________________________
Enlarge full zoom of current web page by a larger amount. Mnemonic: zoom more
Enlarge full zoom of current web page by a larger amount. Mnemonic: zoom more.
________________________________________________________________________________
|zO| +
||[count]zO||
________________________________________________________________________________
Reduce full zoom of current web page. Mnemonic: zoom out
Reduce full zoom of current web page. Mnemonic: zoom out.
________________________________________________________________________________
|zR| +
||[count]zR||
________________________________________________________________________________
Reduce full zoom of current web page by a larger amount. Mnemonic: zoom reduce
Reduce full zoom of current web page by a larger amount. Mnemonic: zoom reduce.
________________________________________________________________________________

View File

@@ -8,7 +8,7 @@ Command-line mode is used to enter Ex commands (":") and text search patterns
|:| +
||:||
________________________________________________________________________________
Start command-line mode. In command-line mode, you can perform extended
Start Command-line mode. In Command-line mode, you can perform extended
commands, which may require arguments.
________________________________________________________________________________
@@ -18,14 +18,14 @@ section:Command-line{nbsp}editing[cmdline-editing]
|c_<C-c>| +
||<C-c>||
________________________________________________________________________________
Quit command-line mode without executing.
Quit Command-line mode without executing.
________________________________________________________________________________
|c_<C-]>| +
||<C-]>||
________________________________________________________________________________
Expand a command-line abbreviation.
Expand a Command-line abbreviation.
________________________________________________________________________________

View File

@@ -4,8 +4,8 @@ section:Writing{nbsp}documentation[writing-docs,documentation]
For every new feature, writing documentation is _mandatory_ for the patch to
be accepted. The docs are written in
http://www.methods.co.nz/asciidoc/index.html[asciidoc] version 8.x or
newer. The are placed in the _src/locale/en-US/_ directory and compiled with
http://www.methods.co.nz/asciidoc/index.html[asciidoc] version 8.2.x.
They are placed in the _src/locale/en-US/_ directory and compiled with
_make doc_. Please refer to the
http://www.methods.co.nz/asciidoc/userguide.html[asciidoc documentation] above
for details. Usually you can just write text as is, and mostly it will be

View File

@@ -3,7 +3,7 @@ HEADER
|gui| +
Although Vimperator offers the most frequently used Firefox functionality via
Ex and normal-mode commands there may be times when directly accessing the GUI
Ex and Normal mode commands there may be times when directly accessing the GUI
is required. There are commands for accessing the menu system, standard dialogs
and the sidebar.

View File

@@ -34,10 +34,11 @@ ________________________________________________________________________________
|;| +
||#;#{mode}{empty}{hint}||
________________________________________________________________________________
Start an extended hint mode. ExtendedHint mode is useful, since in this mode
you can yank link locations, open them in a new window or save images. If
you want to yank the location of hint [a]24[a], press [m];y[m] to start
this hint mode. Then press [a]24[a] to copy the hint location.
Start an extended hint mode. ExtendedHint mode is useful for performing
operations on hinted elements other than the default left mouse click. For
example, you can yank link locations, open them in a new window or save images.
If you want to yank the location of hint [a]24[a], press [m];y[m] to start this
hint mode. Then press [a]24[a] to copy the hint location.
{mode} can be one of: +

View File

@@ -6,270 +6,270 @@ This file contains a list of all available commands.
section:Insert{nbsp}mode[insert-index]
||<C-i>|| Launch the external editor +
||<C-]>|| Expand an insert-mode abbreviation +
||[m]<C-i>[m]|| Launch the external editor +
||[m]<C-]>[m]|| Expand an Insert-mode abbreviation +
section:Normal{nbsp}mode[normal-index]
||<C-^>|| Select the alternate tab or the [count]th tab +
||<C-a>|| Increment last number in URL +
||<C-b>|| Scroll up a full page +
||<C-c>|| Stop loading +
||<C-d>|| Scroll window downwards in the buffer +
||<C-f>|| Scroll down a full page +
||<C-g>|| Print the current file name +
||<C-i>|| Go to a newer position in the jump list +
||<C-l>|| Redraw the screen +
||<C-o>|| Go to an older position in the jump list +
||<C-u>|| Scroll window upwards in the buffer +
||<C-v>|| Pass through next key +
||<C-x>|| Decrement last number in URL +
||<C-z>|| Temporarily ignore all Vimperator key bindings +
||[m]<C-^>[m]|| Select the alternate tab or the [count]th tab +
||[m]<C-a>[m]|| Increment last number in URL +
||[m]<C-b>[m]|| Scroll up a full page +
||[m]<C-c>[m]|| Stop loading +
||[m]<C-d>[m]|| Scroll window downwards in the buffer +
||[m]<C-f>[m]|| Scroll down a full page +
||[m]<C-g>[m]|| Print the current file name +
||[m]<C-i>[m]|| Go to a newer position in the jump list +
||[m]<C-l>[m]|| Redraw the screen +
||[m]<C-o>[m]|| Go to an older position in the jump list +
||[m]<C-u>[m]|| Scroll window upwards in the buffer +
||[m]<C-v>[m]|| Pass through next key +
||[m]<C-x>[m]|| Decrement last number in URL +
||[m]<C-z>[m]|| Temporarily ignore all Vimperator key bindings +
||<Esc>|| Focus content +
||[m]<Esc>[m]|| Focus content +
||<F1>|| Open help window +
||[m]<F1>[m]|| Open help window +
||<S-Tab>|| Rewind keyboard focus +
||<Tab>|| Advance keyboard focus +
||[m]<S-Tab>[m]|| Rewind keyboard focus +
||[m]<Tab>[m]|| Advance keyboard focus +
||0|| Scroll to the absolute left of the document +
||$|| Scroll to the absolute right of the document +
||[m]0[m]|| Scroll to the absolute left of the document +
||[m]$[m]|| Scroll to the absolute right of the document +
||A|| Toggle bookmarked state of current URL +
||B|| Show buffer list +
||D|| Delete current buffer, focus tab to the left +
||F|| Start QuickHint mode, but open link in a new tab +
||G|| Go to the end of the document +
||H|| Go back in the browser history +
||L|| Go forward in the browser history +
||M|| Add new QuickMark for current URL +
||N|| Find previous +
||O|| Open one or more URLs, based on current location +
||P|| Open (put) a URL based on the current clipboard contents in a new buffer +
||R|| Reload while skipping the cache +
||T|| Open one or more URLs in a new tab, based on current location +
||Y|| Copy selected text or current word +
||[m]A[m]|| Toggle bookmarked state of current URL +
||[m]B[m]|| Show buffer list +
||[m]D[m]|| Delete current buffer, focus tab to the left +
||[m]F[m]|| Start QuickHint mode, but open link in a new tab +
||[m]G[m]|| Go to the end of the document +
||[m]H[m]|| Go back in the browser history +
||[m]L[m]|| Go forward in the browser history +
||[m]M[m]|| Add new QuickMark for current URL +
||[m]N[m]|| Find previous +
||[m]O[m]|| Open one or more URLs, based on current location +
||[m]P[m]|| Open (put) a URL based on the current clipboard contents in a new buffer +
||[m]R[m]|| Reload while skipping the cache +
||[m]T[m]|| Open one or more URLs in a new tab, based on current location +
||[m]Y[m]|| Copy selected text or current word +
||a|| Open a prompt to bookmark the current URL +
||b|| Open a prompt to switch buffers +
||d|| Delete current buffer +
||f|| Start QuickHint mode +
||h|| Scroll document to the left +
||i|| Start caret mode +
||j|| Scroll document down +
||k|| Scroll document up +
||l|| Scroll document to the right +
||m|| Set mark at the cursor position +
||n|| Find next +
||o|| Open one or more URLs +
||p|| Open (put) a URL based on the current clipboard contents in the current buffer +
||q|| Record a key sequence into a macro +
||r|| Reload current page +
||t|| Open one or more URLs in a new tab +
||u|| Undo closing of a tab +
||y|| Yank current location to the clipboard +
||[m]a[m]|| Open a prompt to bookmark the current URL +
||[m]b[m]|| Open a prompt to switch buffers +
||[m]d[m]|| Delete current buffer +
||[m]f[m]|| Start QuickHint mode +
||[m]h[m]|| Scroll document to the left +
||[m]i[m]|| Start Caret mode +
||[m]j[m]|| Scroll document down +
||[m]k[m]|| Scroll document up +
||[m]l[m]|| Scroll document to the right +
||[m]m[m]|| Set mark at the cursor position +
||[m]n[m]|| Find next +
||[m]o[m]|| Open one or more URLs +
||[m]p[m]|| Open (put) a URL based on the current clipboard contents in the current buffer +
||[m]q[m]|| Record a key sequence into a macro +
||[m]r[m]|| Reload current page +
||[m]t[m]|| Open one or more URLs in a new tab +
||[m]u[m]|| Undo closing of a tab +
||[m]y[m]|| Yank current location to the clipboard +
||;|| Start an extended hint mode +
||[m];[m]|| Start an extended hint mode +
||:|| Enter command-line mode +
||[m]:[m]|| Enter Command-line mode +
||~|| Open home directory +
||[m]~[m]|| Open home directory +
||/|| Search forward for a pattern +
||?|| Search backwards for a pattern +
||*|| Find word under cursor +
||#|| Find word under cursor backwards +
||[m]/[m]|| Search forward for a pattern +
||[m]?[m]|| Search backwards for a pattern +
||[m]*[m]|| Find word under cursor +
||[m]#[m]|| Find word under cursor backwards +
||N%|| Scroll to {count} percent of the document +
||[m]N%[m]|| Scroll to {count} percent of the document +
||'|| Jump to the mark in the current buffer +
||[m]'[m]|| Jump to the mark in the current buffer +
||@|| Play a macro +
||[m]@[m]|| Play a macro +
||.|| Repeat the last keyboard command +
||[m].[m]|| Repeat the last keyboard command +
||]f|| Focus next frame +
||[f|| Focus previous frame +
||]]|| Follow the link labeled \'next' or \'>' if it exists +
||[[|| Follow the link labeled \'prev', \'previous' or \'<' if it exists +
||[m]]f[m]|| Focus next frame +
||[m][f[m]|| Focus previous frame +
||[m]]] [m]|| Follow the link labeled \'next' or \'>' if it exists +
||[m][[ [m]|| Follow the link labeled \'prev', \'previous' or \'<' if it exists +
||g$|| Go to the last tab +
||g<|| Redisplay the last command output +
||g0|| Go to the first tab +
||g<C-g>|| Print file information +
||gB|| Repeat last :buffer[!] command in reverse direction +
||gF|| View source with an external editor +
||gH|| Open homepage in a new tab +
||gP|| Open (put) a URL based on the current clipboard contents in a new buffer +
||gT|| Go to previous tab +
||gU|| Go to the root of the website +
||gb|| Repeat last :buffer[!] command +
||gf|| View source +
||gg|| Go to the top of the document +
||gh|| Open homepage +
||gi|| Focus last used input field +
||gn|| Jump to a QuickMark in a new tab +
||go|| Jump to a QuickMark +
||gt|| Go to the next tab +
||gu|| Go to parent directory +
||[m]g$[m]|| Go to the last tab +
||[m]g<[m]|| Redisplay the last command output +
||[m]g0[m]|| Go to the first tab +
||[m]g<C-g>[m]|| Print file information +
||[m]gB[m]|| Repeat last [c]:buffer[!][c] command in reverse direction +
||[m]gF[m]|| View source with an external editor +
||[m]gH[m]|| Open homepage in a new tab +
||[m]gP[m]|| Open (put) a URL based on the current clipboard contents in a new buffer +
||[m]gT[m]|| Go to previous tab +
||[m]gU[m]|| Go to the root of the website +
||[m]gb[m]|| Repeat last [c]:buffer[!][c] command +
||[m]gf[m]|| View source +
||[m]gg[m]|| Go to the top of the document +
||[m]gh[m]|| Open homepage +
||[m]gi[m]|| Focus last used input field +
||[m]gn[m]|| Jump to a QuickMark in a new tab +
||[m]go[m]|| Jump to a QuickMark +
||[m]gt[m]|| Go to the next tab +
||[m]gu[m]|| Go to parent directory +
||ZQ|| Quit and don't save the session +
||ZZ|| Quit and save the session +
||zI|| Enlarge full zoom of current web page +
||zM|| Enlarge full zoom of current web page by a larger amount +
||zO|| Reduce full zoom of current web page +
||zR|| Reduce full zoom of current web page by a larger amount +
||zZ|| Set full zoom value of current web page +
||zi|| Enlarge text zoom of current web page +
||zm|| Enlarge text zoom of current web page by a larger amount +
||zo|| Reduce text zoom of current web page +
||zr|| Reduce text zoom of current web page by a larger amount +
||zz|| Set text zoom value of current web page +
||[m]ZQ[m]|| Quit and don't save the session +
||[m]ZZ[m]|| Quit and save the session +
||[m]zI[m]|| Enlarge full zoom of current web page +
||[m]zM[m]|| Enlarge full zoom of current web page by a larger amount +
||[m]zO[m]|| Reduce full zoom of current web page +
||[m]zR[m]|| Reduce full zoom of current web page by a larger amount +
||[m]zZ[m]|| Set full zoom value of current web page +
||[m]zi[m]|| Enlarge text zoom of current web page +
||[m]zm[m]|| Enlarge text zoom of current web page by a larger amount +
||[m]zo[m]|| Reduce text zoom of current web page +
||[m]zr[m]|| Reduce text zoom of current web page by a larger amount +
||[m]zz[m]|| Set text zoom value of current web page +
section:Command-line{nbsp}editing[ex-edit-index]
||<C-c>|| Quit command-line mode without executing +
||[m]<C-c>[m]|| Quit Command-line mode without executing +
||<C-]>|| Expand a command-line abbreviation +
||[m]<C-]>[m]|| Expand a command-line abbreviation +
||<Up>|| Recall the previous command line from the history list which matches the current command line +
||<Down>|| Recall the next command line from the history list which matches the current command line +
||[m]<Up>[m]|| Recall the previous command line from the history list which matches the current command line +
||[m]<Down>[m]|| Recall the next command line from the history list which matches the current command line +
||<Tab>|| Complete the word in front of the cursor according to the behavior specified in 'wildmode' +
||<S-Tab>|| Complete the previous full match when 'wildmode' contains "full" +
||[m]<Tab>[m]|| Complete the word in front of the cursor according to the behavior specified in 'wildmode' +
||[m]<S-Tab>[m]|| Complete the previous full match when 'wildmode' contains "full" +
section:Ex{nbsp}commands[ex-cmd-index,:index]
||:!|| Run a command +
||:abbreviate|| Abbreviate a key sequence +
||:abclear|| Remove all abbreviations +
||:addons|| Manage available Extensions and Themes +
||:autocmd|| Execute commands automatically on events +
||:back|| Go back in the browser history +
||:bdelete|| Delete current buffer +
||:beep|| Play a system beep +
||:bmark|| Add a bookmark +
||:bmarks|| List or open multiple bookmarks +
||:buffer|| Switch to a buffer +
||:buffers|| Show a list of all buffers +
||:cabbrev|| Abbreviate a key sequence in command-line mode +
||:cabclear|| Remove all abbreviations in command-line mode +
||:cd|| Change the current directory +
||:cmap|| Map a key sequence in command-line mode +
||:cmapclear|| Remove all mappings in command-line mode +
||:cnoremap|| Map a key sequence without remapping keys in command-line mode +
||:colorscheme|| Load a color scheme +
||:comclear|| Delete all user-defined commands +
||:command|| List and define commands +
||:cunabbrev|| Remove an abbreviation in command-line mode +
||:cunmap|| Remove a mapping in command-line mode +
||:delbmarks|| Delete a bookmark +
||:delcommand|| Delete the specified user-defined command +
||:delmacros|| Delete macros +
||:delmarks|| Delete the specified marks +
||:delqmarks|| Delete the specified QuickMarks +
||:delstyle|| Delete any matching styles +
||:dialog|| Open a undefined dialog +
||:doautoall|| Apply the autocommands matching the specified URL to all buffers +
||:doautocmd|| Apply the autocommands matching the specified URL to the current buffer +
||:downloads|| Show progress of current downloads +
||:echo|| Echo the expression +
||:echoerr|| Echo the expression as an error message +
||:echomsg|| Echo the expression as an informational message +
||:emenu|| Execute the specified menu item from the command line +
||:execute|| Execute the argument as an Ex command +
||:exusage|| List all Ex commands with a short description +
||:finish|| Stop sourcing a script file +
||:forward|| Go forward in the browser history +
||:hardcopy|| Print current document +
||:help|| Display help +
||:highlight|| Style Vimperator +
||:history|| Show recently visited URLs +
||:iabbrev|| Abbreviate a key sequence in insert mode +
||:iabclear|| Remove all abbreviations in insert mode +
||:imap|| Map a key sequence in insert mode +
||:imapclear|| Remove all mappings in insert mode +
||:inoremap|| Map a key sequence without remapping keys in insert mode +
||:iunabbrev|| Remove an abbreviation in insert mode +
||:iunmap|| Remove a mapping in insert mode +
||:javascript|| Run a JavaScript command through eval() +
||:jumps|| Show jumplist +
||:let|| Set or list a variable +
||:loadplugins|| Immediately load all unloaded plugins +
||:macros|| List all macros +
||:map|| Map a key sequence +
||:mapclear|| Remove all mappings +
||:mark|| Mark current location within the web page +
||:marks|| Show all location marks of current web page +
||:messages|| Display previously given messages +
||:mkvimperatorrc|| Write current key mappings and changed options to the config file +
||:nohlsearch|| Remove the search highlighting +
||:noremap|| Map a key sequence without remapping keys +
||:normal|| Execute Normal mode commands +
||:open|| Open one or more URLs in the current tab +
||:optionusage|| List all options with a short description +
||:pageinfo|| Show various page information +
||:pagestyle|| Select the author style sheet to apply +
||:play|| Replay a recorded macro +
||:preferences|| Show Firefox preferences dialog +
||:pwd|| Print the current directory name +
||:qmark|| Mark a URL with a letter for quick access +
||:qmarks|| Show all QuickMarks +
||:quit|| Quit current tab +
||:quitall|| Quit undefined +
||:redraw|| Redraw the screen +
||:reload|| Reload current page +
||:reloadall|| Reload all tab pages +
||:restart|| Force undefined to restart +
||:runtime|| Source the specified file from each directory in 'runtimepath' +
||:saveas|| Save current document to disk +
||:sbclose|| Close the sidebar window +
||:scriptnames|| List all sourced script names +
||:set|| Set an option +
||:setglobal|| Set global option +
||:setlocal|| Set local option +
||:sidebar|| Open the sidebar window +
||:style|| Style Vimperator and web sites +
||:source|| Read Ex commands from a file +
||:stop|| Stop loading +
||:tab|| Execute a command and tell it to output in a new tab +
||:tabdetach|| Detach current tab to its own window +
||:tabduplicate|| Duplicate current tab +
||:tablast|| Switch to the last tab +
||:tabmove|| Move the current tab after tab N +
||:tabnext|| Switch to the next or [count]th tab +
||:tabonly|| Close all other tabs +
||:tabopen|| Open one or more URLs in a new tab +
||:tabprevious|| Switch to the previous tab or go [count] tabs back +
||:tabrewind|| Switch to the first tab +
||:time|| Profile a piece of code or run a command multiple times +
||:unabbreviate|| Remove an abbreviation +
||:undo|| Undo closing of a tab +
||:undoall|| Undo closing of all closed tabs +
||:unlet|| Delete a variable +
||:unmap|| Remove a mapping +
||:version|| Show version information +
||:viewsource|| View source code of current document +
||:viusage|| List all mappings with a short description +
||:winclose|| Close window +
||:winopen|| Open one or more URLs in a new window +
||:wqall|| Save the session and quit +
||:zoom|| Set zoom value of current web page +
||[c]:![c]|| Run a command +
||[c]:abbreviate[c]|| Abbreviate a key sequence +
||[c]:abclear[c]|| Remove all abbreviations +
||[c]:addons[c]|| Manage available Extensions and Themes +
||[c]:autocmd[c]|| Execute commands automatically on events +
||[c]:back[c]|| Go back in the browser history +
||[c]:bdelete[c]|| Delete current buffer +
||[c]:beep[c]|| Play a system beep +
||[c]:bmark[c]|| Add a bookmark +
||[c]:bmarks[c]|| List or open multiple bookmarks +
||[c]:buffer[c]|| Switch to a buffer +
||[c]:buffers[c]|| Show a list of all buffers +
||[c]:cabbrev[c]|| Abbreviate a key sequence in Command-line mode +
||[c]:cabclear[c]|| Remove all abbreviations in Command-line mode +
||[c]:cd[c]|| Change the current directory +
||[c]:cmap[c]|| Map a key sequence in Command-line mode +
||[c]:cmapclear[c]|| Remove all mappings in Command-line mode +
||[c]:cnoremap[c]|| Map a key sequence without remapping keys in Command-line mode +
||[c]:colorscheme[c]|| Load a color scheme +
||[c]:comclear[c]|| Delete all user-defined commands +
||[c]:command[c]|| List and define commands +
||[c]:cunabbrev[c]|| Remove an abbreviation in Command-line mode +
||[c]:cunmap[c]|| Remove a mapping in Command-line mode +
||[c]:delbmarks[c]|| Delete a bookmark +
||[c]:delcommand[c]|| Delete the specified user-defined command +
||[c]:delmacros[c]|| Delete macros +
||[c]:delmarks[c]|| Delete the specified marks +
||[c]:delqmarks[c]|| Delete the specified QuickMarks +
||[c]:delstyle[c]|| Delete any matching styles +
||[c]:dialog[c]|| Open a undefined dialog +
||[c]:doautoall[c]|| Apply the autocommands matching the specified URL to all buffers +
||[c]:doautocmd[c]|| Apply the autocommands matching the specified URL to the current buffer +
||[c]:downloads[c]|| Show progress of current downloads +
||[c]:echo[c]|| Echo the expression +
||[c]:echoerr[c]|| Echo the expression as an error message +
||[c]:echomsg[c]|| Echo the expression as an informational message +
||[c]:emenu[c]|| Execute the specified menu item from the command line +
||[c]:execute[c]|| Execute the argument as an Ex command +
||[c]:exusage[c]|| List all Ex commands with a short description +
||[c]:finish[c]|| Stop sourcing a script file +
||[c]:forward[c]|| Go forward in the browser history +
||[c]:hardcopy[c]|| Print current document +
||[c]:help[c]|| Display help +
||[c]:highlight[c]|| Style Vimperator +
||[c]:history[c]|| Show recently visited URLs +
||[c]:iabbrev[c]|| Abbreviate a key sequence in Insert mode +
||[c]:iabclear[c]|| Remove all abbreviations in Insert mode +
||[c]:imap[c]|| Map a key sequence in Insert mode +
||[c]:imapclear[c]|| Remove all mappings in Insert mode +
||[c]:inoremap[c]|| Map a key sequence without remapping keys in Insert mode +
||[c]:iunabbrev[c]|| Remove an abbreviation in Insert mode +
||[c]:iunmap[c]|| Remove a mapping in Insert mode +
||[c]:javascript[c]|| Run a JavaScript command through eval() +
||[c]:jumps[c]|| Show jumplist +
||[c]:let[c]|| Set or list a variable +
||[c]:loadplugins[c]|| Immediately load all unloaded plugins +
||[c]:macros[c]|| List all macros +
||[c]:map[c]|| Map a key sequence +
||[c]:mapclear[c]|| Remove all mappings +
||[c]:mark[c]|| Mark current location within the web page +
||[c]:marks[c]|| Show all location marks of current web page +
||[c]:messages[c]|| Display previously given messages +
||[c]:mkvimperatorrc[c]|| Write current key mappings and changed options to the config file +
||[c]:nohlsearch[c]|| Remove the search highlighting +
||[c]:noremap[c]|| Map a key sequence without remapping keys +
||[c]:normal[c]|| Execute Normal mode commands +
||[c]:open[c]|| Open one or more URLs in the current tab +
||[c]:optionusage[c]|| List all options with a short description +
||[c]:pageinfo[c]|| Show various page information +
||[c]:pagestyle[c]|| Select the author style sheet to apply +
||[c]:play[c]|| Replay a recorded macro +
||[c]:preferences[c]|| Show Firefox preferences dialog +
||[c]:pwd[c]|| Print the current directory name +
||[c]:qmark[c]|| Mark a URL with a letter for quick access +
||[c]:qmarks[c]|| Show all QuickMarks +
||[c]:quit[c]|| Quit current tab +
||[c]:quitall[c]|| Quit undefined +
||[c]:redraw[c]|| Redraw the screen +
||[c]:reload[c]|| Reload current page +
||[c]:reloadall[c]|| Reload all tab pages +
||[c]:restart[c]|| Force undefined to restart +
||[c]:runtime[c]|| Source the specified file from each directory in 'runtimepath' +
||[c]:saveas[c]|| Save current document to disk +
||[c]:sbclose[c]|| Close the sidebar window +
||[c]:scriptnames[c]|| List all sourced script names +
||[c]:set[c]|| Set an option +
||[c]:setglobal[c]|| Set global option +
||[c]:setlocal[c]|| Set local option +
||[c]:sidebar[c]|| Open the sidebar window +
||[c]:style[c]|| Style Vimperator and web sites +
||[c]:source[c]|| Read Ex commands from a file +
||[c]:stop[c]|| Stop loading +
||[c]:tab[c]|| Execute a command and tell it to output in a new tab +
||[c]:tabdetach[c]|| Detach current tab to its own window +
||[c]:tabduplicate[c]|| Duplicate current tab +
||[c]:tablast[c]|| Switch to the last tab +
||[c]:tabmove[c]|| Move the current tab after tab N +
||[c]:tabnext[c]|| Switch to the next or [count]th tab +
||[c]:tabonly[c]|| Close all other tabs +
||[c]:tabopen[c]|| Open one or more URLs in a new tab +
||[c]:tabprevious[c]|| Switch to the previous tab or go [count] tabs back +
||[c]:tabrewind[c]|| Switch to the first tab +
||[c]:time[c]|| Profile a piece of code or run a command multiple times +
||[c]:unabbreviate[c]|| Remove an abbreviation +
||[c]:undo[c]|| Undo closing of a tab +
||[c]:undoall[c]|| Undo closing of all closed tabs +
||[c]:unlet[c]|| Delete a variable +
||[c]:unmap[c]|| Remove a mapping +
||[c]:version[c]|| Show version information +
||[c]:viewsource[c]|| View source code of current document +
||[c]:viusage[c]|| List all mappings with a short description +
||[c]:winclose[c]|| Close window +
||[c]:winopen[c]|| Open one or more URLs in a new window +
||[c]:wqall[c]|| Save the session and quit +
||[c]:zoom[c]|| Set zoom value of current web page +
section:Options[option-index]
||'activate'|| Define when tabs are automatically activated +
||'cdpath'|| List of directories searched when executing :cd +
||'complete'|| Items which are completed at the :[tab]open prompt +
||'cdpath'|| List of directories searched when executing [c]:cd[c] +
||'complete'|| Items which are completed at the [c]:[tab]open prompt[c] +
||'defsearch'|| Set the default search engine +
||'editor'|| Set the external text editor +
||'errorbells'|| Ring the bell when an error message is displayed +
||'eventignore'|| List of autocommand event names which should be ignored +
||'exrc'|| Allow reading of an RC file in the current directory +
||'extendedhinttags'|| XPath string of hintable elements activated by [m];[m] +
||'focuscontent'|| Try to stay in normal mode after loading a web page +
||'followhints'|| Change the behaviour of [m]<Return>[m] in hint mode +
||'focuscontent'|| Try to stay in Normal mode after loading a web page +
||'followhints'|| Change the behaviour of [m]<Return>[m] in Hints mode +
||'fullscreen'|| Show the current window fullscreen +
||'guioptions'|| Show or hide certain GUI elements like the menu or toolbar +
||'helpfile'|| Name of the main help file +
@@ -289,14 +289,14 @@ section:Options[option-index]
||'newtab'|| Define which commands should output in a new tab by default +
||'nextpattern'|| Patterns to use when guessing the \'next' page in a document sequence +
||'online'|| Set the \'work offline' option +
||'pageinfo'|| Desired info on :pa[geinfo] +
||'pageinfo'|| Desired info on [c]:pa[geinfo][c] +
||'popups'|| Where to show requested popup windows +
||'preload'|| Speed up first time history/bookmark completion +
||'previouspattern'|| Patterns to use when guessing the \'previous' page in a document sequence +
||'runtimepath'|| List of directories searched for runtime files +
||'scroll'|| Number of lines to scroll with [m]<C-u>[m] and [m]<C-d>[m] commands +
||'shell'|| Shell to use for executing :! and :run commands +
||'shellcmdflag'|| Flag passed to shell when executing :! and :run commands +
||'shell'|| Shell to use for executing [c]:![c] and [c]:run[c] commands +
||'shellcmdflag'|| Flag passed to shell when executing [c]:![c] and [c]:run[c] commands +
||'showmode'|| Show the current mode in the command line +
||'showstatuslinks'|| Show the destination of the link under the cursor in the status bar +
||'showtabline'|| Control when to show the tab bar of opened web pages +

View File

@@ -4,12 +4,12 @@ HEADER
Insert mode is used to enter text in text boxes and text areas. When
'insertmode' is set, focusing on a text area immediately switches to
insert mode.
Insert mode.
|i| +
||i||
________________________________________________________________________________
Starts insert mode in text areas when 'insertmode' is not set.
Starts Insert mode in text areas when 'insertmode' is not set.
________________________________________________________________________________
@@ -24,7 +24,7 @@ ________________________________________________________________________________
|i_<C-]>| +
||<C-]>||
________________________________________________________________________________
Expand an insert-mode abbreviation.
Expand an Insert-mode abbreviation.
________________________________________________________________________________
// vim: set filetype=asciidoc:

View File

@@ -98,7 +98,7 @@ section:Features[features]
* QuickMarks support (quickly go to previously marked web pages with [m]go[m][a]\\{a-zA-Z0-9\\}[a])
* [c]:map[c] and [c]:command[c] support (and feedkeys() for script writers)
* [c]:time[c] support for profiling
* Move the text cursor and select text with Vim keys and a visual mode
* Move the text cursor and select text with Vim keys and a Visual mode
* External editor support
* Macros to replay key strokes
* AutoCommands to execute action on certain events

View File

@@ -12,7 +12,7 @@ which are translated to a string of characters. Example:
will echo the current date to the command line when [m]<F2>[m] is pressed.
There are separate key mapping tables for each of the Normal, Insert,
There are separate key mapping tables for each of the Normal, Insert, and
Command-line modes.
|:map-special-chars| +
@@ -29,7 +29,7 @@ ________________________________________________________________________________
||<CR>||
________________________________________________________________________________
Expand to a line terminator in a key mapping. An Ex command in the {rhs} of a
mapping requires a a line terminator after it so that it is executed when the
mapping requires a line terminator after it so that it is executed when the
mapping is expanded. [m]<CR>[m] should be used for this purpose.
________________________________________________________________________________
@@ -57,7 +57,7 @@ ________________________________________________________________________________
Map the key sequence {lhs} to {rhs}. The {rhs} is remapped, allowing for
nested and recursive mappings.
Warning: Mappings are NOT saved during sessions, make sure you put them in your
Warning: Mappings are NOT saved between sessions, make sure you put them in your
vimperatorrc file!
________________________________________________________________________________
@@ -70,7 +70,7 @@ ________________________________________________________________________________
Map the key sequence {lhs} to {rhs} (in Command-line mode). The {rhs} is
remapped, allowing for nested and recursive mappings.
Warning: Mappings are NOT saved during sessions, make sure you put them in your
Warning: Mappings are NOT saved between sessions, make sure you put them in your
vimperatorrc file!
________________________________________________________________________________
@@ -80,10 +80,10 @@ ________________________________________________________________________________
||:imap {lhs}|| +
||:imap||
________________________________________________________________________________
Map the key sequence {lhs} to {rhs} (in insert mode). The {rhs} is remapped,
Map the key sequence {lhs} to {rhs} (in Insert mode). The {rhs} is remapped,
allowing for nested and recursive mappings.
Warning: Mappings are NOT saved during sessions, make sure you put them in your
Warning: Mappings are NOT saved between sessions, make sure you put them in your
vimperatorrc file!
________________________________________________________________________________
@@ -107,7 +107,7 @@ ________________________________________________________________________________
|:imapc| |:imapclear| +
||:imapc[lear]||
________________________________________________________________________________
Remove all mappings (in insert mode). All user-defined mappings which were set
Remove all mappings (in Insert mode). All user-defined mappings which were set
by [c]:imap[c] or [c]:inoremap[c] are cleared.
________________________________________________________________________________
@@ -136,7 +136,7 @@ ________________________________________________________________________________
||:ino[remap] {lhs}|| +
||:ino[remap]||
________________________________________________________________________________
Map the key sequence {lhs} to {rhs} (in insert mode). No remapping of the
Map the key sequence {lhs} to {rhs} (in Insert mode). No remapping of the
{rhs} is performed.
________________________________________________________________________________
@@ -167,7 +167,7 @@ ________________________________________________________________________________
|:iunm| |:iunmap| +
||:iunm[ap] {lhs}||
________________________________________________________________________________
Remove the mapping of {lhs} (in insert mode).
Remove the mapping of {lhs} (in Insert mode).
________________________________________________________________________________
section:Abbreviations[abbreviations]
@@ -178,8 +178,8 @@ words. An abbreviation can be one of three types that are defined by the
types of constituent characters. Whitespace and quotes are non-keyword
types, and all other characters are keyword types.
1. A "full-id" abbreviation consists entirely of characters that are not
keyword characters (e.g., "teh", "msoft").
1. A "full-id" abbreviation consists entirely of keyword characters
(e.g., "teh", "msoft").
2. An "end-id" abbreviation ends in keyword character but otherwise
contains all non-keyword characters (e.g., "'i").
@@ -304,7 +304,7 @@ The valid values are:
*-nargs=1* One argument is allowed
*-nargs=** Zero or more arguments are allowed
*-nargs=?* Zero or one argument is allowed
*-nargs=+* One or more argument is allowd
*-nargs=+* One or more arguments are allowed
--------------------------------------------------------------------------------
|E180| |E181| |:command-complete| +
@@ -365,7 +365,7 @@ available for expansion as <count> in the argument.
|:command-bang| +
Special cases
By default a user command does not have a special version. i.e. a version
By default a user command does not have a special version, i.e. a version
executed with the ! modifier. Providing the -bang attribute will enable this
and <bang> will be available in the argument.
@@ -379,7 +379,7 @@ is then executed as an Ex command.
The valid escape sequences are:
`----------`--------------------------------------------------------------------
*<args>* The command arguments exactly as supplied
*<count>* Any supplied count E.g. 5
*<count>* Any supplied count, e.g. 5
*<bang>* ! if the command was executed with the ! modifier
*<lt>* A literal '<' character to allow for a literal copy of one of the escape sequences. E.g. <lt>args> will expand to a literal <args>
--------------------------------------------------------------------------------

View File

@@ -6,7 +6,7 @@ Vimperator supports a number of different marks:
- Bookmarks which allow you to mark a web page as one of your favorites for
easy access.
- QuickMarks allow you to define up to 62 (a-zA-Z0-9) web sites (or group of
- QuickMarks allow you to define up to 62 (a-zA-Z0-9) web sites (or groups of
web sites) which you visit most often.
- Local marks to store the position within a web page.
- History is also a special type of marks, as Vimperator automatically
@@ -40,7 +40,7 @@ ____________________________________________________________________________
||A||
________________________________________________________________________________
Toggle bookmarked state of current URL. Add/remove a bookmark for the current
location, depending if it already is bookmarked or not. In contrast to the
location, depending on if it is already bookmarked or not. In contrast to the
[c]:bmark[c] command, the bookmark is just _starred_ which means it is placed
in the _Unfiled Bookmarks Folder_ instead of the bookmarks menu.
________________________________________________________________________________
@@ -143,17 +143,17 @@ section:QuickMarks[quickmarks]
||go[a]\\{a-zA-Z0-9\\}[a]||
________________________________________________________________________________
Jump to a QuickMark in the current tab. Open any QuickMark in the current tab.
You can mark any URLs with [m]M{a-zA-Z0-9}[m]. These QuickMarks are persistent
across browser sessions.
You can mark any URLs with [m]M[m][a]\\{a-zA-Z0-9\\}[a]. These QuickMarks are
persistent across browser sessions.
________________________________________________________________________________
|gn| +
||gn[a]\\{a-zA-Z0-9\\}[a]||
________________________________________________________________________________
Jump to a QuickMark in a new tab. Works like [m]go{a-zA-Z0-9}[m] but opens the
QuickMark in a new tab. Whether the new tab is activated or not depends on the
'activate' option. +
Jump to a QuickMark in a new tab. Works like [m]go[m][a]\\{a-zA-Z0-9\\}[a] but
opens the QuickMark in a new tab. Whether the new tab is activated or not
depends on the 'activate' option. +
Mnemonic: Go in a new tab. [m]gt[m] would make more sense but is already
taken.
________________________________________________________________________________
@@ -163,8 +163,9 @@ ________________________________________________________________________________
||M[a]\\{a-zA-Z0-9\\}[a]||
________________________________________________________________________________
Add new QuickMark for current URL. You can go to a marked URL in the current
tab with [m]go{a-zA-Z0-9}[m] or in a new tab with [m]gn{a-zA-Z0-9}[m]. These
QuickMarks are persistent across browser sessions.
tab with [m]go[m][a]\\{a-zA-Z0-9\\}[a] or in a new tab with
[m]gn[m][a]\\{a-zA-Z0-9\\}[a]. These QuickMarks are persistent across browser
sessions.
________________________________________________________________________________
@@ -241,7 +242,7 @@ ________________________________________________________________________________
|:marks| +
||:marks [a][arg][a]||
________________________________________________________________________________
Show all location marks of current web page. If [a][arg][a] is specified then
Show all location marks of the current web page. If [a][arg][a] is specified then
limit the list to those marks mentioned.
________________________________________________________________________________

View File

@@ -22,7 +22,7 @@ ____
||:se[t] all||
____
Show all options. Show all options.
Show all options.
____
|E518| |E519|
@@ -54,12 +54,12 @@ ____
____
For list options, toggle the specified values.
If the option is a list, the given values are toggled. Given
:set opt=foo,bar
Then,
:set opt!=foo,baz
results in
opt=bar,baz
If the option is a list, the given values are toggled. Given +
\{nbsp}[c]:set opt=foo,bar[c] +
then, +
\{nbsp}[c]:set opt!=foo,baz[c] +
results in +
\{nbsp}opt=bar,baz
____
|:set-default|
@@ -84,21 +84,17 @@ ____
|:set+=|
||:se[t] {option}+={value} [...]|| +
____
Add the {value} to a number option, or append the
{value} to a string option. When the option is a
comma separated list, a comma is added, unless the
value was empty.
If the option is a list of flags, superfluous flags
are removed. When adding a flag that was already
present the option value doesn't change.
Add the {value} to a number option, or append the {value} to a string option.
When the option is a comma separated list, a comma is added, unless the value
was empty. If the option is a list of flags, superfluous flags are removed.
When adding a flag that was already present the option value doesn't change.
____
|:set^=|
||:se[t] {option}^={value} [...]|| +
____
Multiply the {value} to a number option, or prepend
the {value} to a string option. When the option is a
comma separated list, a comma is added, unless the
Multiply the {value} to a number option, or prepend the {value} to a string
option. When the option is a comma separated list, a comma is added, unless the
value was empty.
____
@@ -106,15 +102,12 @@ ____
||:se[t] {option}-={value} [...]|| +
____
Subtract the {value} from a number option, or remove
the {value} from a string option, if it is there.
If the {value} is not found in a string option, there
is no error or warning. When the option is a comma
separated list, a comma is deleted, unless the option
becomes empty.
When the option is a list of flags, {value} must be
exactly as they appear in the option. Remove flags
one by one to avoid problems.
Subtract the {value} from a number option, or remove the {value} from a string
option, if it is there. If the {value} is not found in a string option, there
is no error or warning. When the option is a comma separated list, a comma is
deleted, unless the option becomes empty. When the option is a list of flags,
{value} must be exactly as they appear in the option. Remove flags one by one
to avoid problems.
____
|:setlocal| |:setl|
@@ -132,7 +125,7 @@ ____
||:setl[ocal] {option}-={value}|| +
____
The same as [c]:set[c] command, but it operates for current tab options
The same as [c]:set[c] command, but operates on current tab options
only. See [c]:set[c] for details.
____
@@ -151,7 +144,7 @@ ____
||:setg[lobal] {option}-={value}|| +
____
The same as [c]:set[c] command, but it operates on global options only.
The same as [c]:set[c] command, but operates on global options only.
See [c]:set[c] for details.
____
@@ -224,9 +217,9 @@ ____
|\'cd'| |\'cdpath'|
||'cdpath' 'cd'|| string (default: equivalent to _$CDPATH_ or ",,")
____
List of directories searched when executing the :cd command. This is only used
for relative paths, if an absolute path is specified then the option is
ignored.
List of directories searched when executing the [c]:cd[c] command. This is
only used for relative paths, if an absolute path is specified then the option
is ignored.
____
@@ -315,7 +308,7 @@ ____
||'focuscontent' 'fc'|| boolean (default: off)
____
Focus the content after a page has loaded. This is useful, if you always
want to stay in normal mode when browsing between web sites. When "on", it
want to stay in Normal mode when browsing between web sites. When "on", it
blurs any textbox which often is automatically focused on page load.
If you usually like 'focuscontent' but sometimes you'd like to focus the
first input field, you can use [m]gi[m] to jump to it.
@@ -362,7 +355,7 @@ ____
||'hintmatching' 'hm'|| string (default: contains)
____
Change the hint matching algorithm during hint mode. Possible values:
Change the hint matching algorithm during Hints mode. Possible values:
`--------------------`-------------------------------------------------------------------------------------------------------------------------------
*contains* The typed characters are split on whitespace, and these character groups have to match anywhere inside the text of the link.
@@ -378,13 +371,13 @@ ____
||'followhints' 'fh'|| number (default: 0)
____
Change the behaviour of [m]<Return>[m] in hint mode. Possible values:
Change the behaviour of [m]<Return>[m] in Hints mode. Possible values:
`---------`----------------------------------------------------------
*0* Follow the first hint as soon as typed text uniquely identifies it.
Follow the selected hint on [m]<Return>[m].
*1* Follow the selected hint on [m]<Return>[m].
*2* Follow the selected hint on [m]<Return>[m] only it's been [m]<Tab>[m]-selected.
*2* Follow the selected hint on [m]<Return>[m] only if it's been [m]<Tab>[m]-selected.
---------------------------------------------------------------------
____
@@ -505,7 +498,8 @@ ____
Patterns to use when guessing the \'next' page in a document sequence. Each
pattern, in order, is matched against all links in the page with the first
match being used. The patterns are case insensitive regular expressions.
match being used. The patterns are case insensitive regular expressions and the
link elements are those defined by 'hinttags'.
____
@@ -581,15 +575,6 @@ In order to also speed up first time access, it is cached at startup, if this op
____
//|\'pvh'| |\'previewheight'|
//||'previewheight' 'pvh'|| number (default: 10)
//____
//Default height for preview window
//
//Value must be between 1 and 50. If the value is too high, completions may cover the command line. Close the preview window with :pclose.
//Note: Option currently disabled
//____
|\'previouspattern'|
||'previouspattern'|| stringlist
____
@@ -597,7 +582,8 @@ ____
Patterns to use when guessing the \'previous' page in a document sequence. Each
pattern, in order, is matched against all links in the page with the first
match being used. The patterns are case insensitive regular expressions.
match being used. The patterns are case insensitive regular expressions and the
link elements are those defined by 'hinttags'.
____
@@ -635,14 +621,14 @@ ____
|\'shell'| |\'sh'|
||'shell' 'sh'|| string (default: _$SHELL_ or "sh", Win32: "cmd.exe")
____
Shell to use for executing :! and :run commands.
Shell to use for executing [c]:![c] and [c]:run[c] commands.
____
|\'shellcmdflag'| |\'shcf'|
||'shellcmdflag' 'shcf'|| string (default: "-c", Win32: "/c")
____
Flag passed to shell when executing :! and :run commands.
Flag passed to shell when executing [c]:![c] and [c]:run[c] commands.
E.g. "bash -c gvim"
____
@@ -658,7 +644,7 @@ ____
|\'ssli'| |\'showstatuslinks'|
||'showstatuslinks' 'ssli'|| number (default: 1)
____
Show the destination of the link under the cursor in the status bar
Show the destination of the link under the cursor in the status bar.
Also links which are focused by keyboard commands like [m]<Tab>[m] are shown. Possible values:
.---`--------------------------------------
@@ -696,7 +682,7 @@ ____
||'suggestengines' || stringlist (default: "google")
____
Set the search engines which can be used for completion suggestions.
Add "S" to the 'complete' option if you want use this feature.
Add "S" to the 'complete' option if you want to use this feature.
Warning: This feature could make tab-completion slower because it needs to
wait for changes, so use it only if you have a fast internet connection.
@@ -727,11 +713,11 @@ ____
|\'urlseparator'|
||'urlseparator'|| string (default: ",\s")
____
Set the separator regexp used to separate multiple URL args. Multiple
arguments can be specified for :open, and similar commands, using this regexp
as the separator. Using whitespace alone is not generally useful since it is
often contained in a single argument. E.g. [c]:open linus torvalds[c] should
perform a single search for the key words "linus" and "torvalds"
Set the separator regexp used to separate multiple URL args. Multiple arguments
can be specified for [c]:open[c], and similar commands, using this regexp as
the separator. Using whitespace alone is not generally useful since it is often
contained in a single argument. E.g. [c]:open linus torvalds[c] should perform
a single search for the key words "linus" and "torvalds"
____
@@ -751,8 +737,7 @@ ____
||'visualbell' 'vb'|| boolean (default: off)
____
Use visual bell instead of beeping on errors. The visual bell style is
controlled by [c]:hi Bell[c]. If no bell is desired use [c]:set t_vb=[c] together with
this option.
controlled by [c]:hi Bell[c].
____
@@ -783,7 +768,7 @@ ____
|\'wim'| |\'wildmode'|
||'wildmode' 'wim'|| stringlist (default: "list:full")
____
Define how command-line completion works.
Defines how command-line completion works.
It is a comma-separated list of parts, where each part specifies
what to do for each consecutive use of the completion key.
The first part specifies the behavior for the first use of the completion key,
@@ -795,7 +780,7 @@ These are the possible values for each part:
"full" Complete the next full match. After the last, the original string is used.
"longest" Complete till the longest common string.
"list" When more than one match, list all matches.
"list:full" When more than one match, list all matches and complete first match.
"list:full" When more than one match, list all matches and complete the first match.
"list:longest" When more than one match, list all matches and complete till the longest common string. \
When there is only a single match, it is fully completed regardless of the case.
-----------------------------------------

View File

@@ -8,7 +8,7 @@ commands as Firefox does not provide native regexp support. It is unlikely that
this will ever be available.
|/| +
||/\\{pattern\\}[/]<CR>|| +
||/{pattern}[/]<CR>|| +
________________________________________________________________________________
Search forward for the first occurrence of {pattern}.

View File

@@ -20,13 +20,14 @@ ________________________________________________________________________________
section:Firefox{nbsp}printing{nbsp}dialogs[firefox-print-dialogs]
The "Print Preview" and "Page Setup" dialogs can be opened via the :dialog command
The "Print Preview" and "Page Setup" dialogs can be opened via the [c]:dialog[c]
command
:dialog printpreview
\{nbsp}[c]:dialog printpreview[c]
and
:dialog printsetup
\{nbsp}[c]:dialog printsetup[c]
respectively.

View File

@@ -7,7 +7,7 @@ Vimperator can repeat a number of commands and record macros.
section:Macros[macros,complex-repeat]
|q|
||q {0-9a-zA-Z}|| +
||q{0-9a-zA-Z}|| +
____________________________________________________________________________
Record a key sequence into a macro.
Available macros are {0-9a-zA-Z} (uppercase to append).
@@ -49,7 +49,7 @@ ____________________________________________________________________________
|.|
||[count].|
||[count].||
____________________________________________________________________________
Repeat the last keyboard mapping [count] times. Note that, unlike in Vim, this
does not apply solely to editing commands, mainly because Vimperator doesn't
@@ -99,12 +99,12 @@ Load all unloaded plugins immediately. Because plugins are automatically
loaded after vimperatorrc is sourced, this command must be placed early
in the vimperatorrc file if vimperatorrc also includes commands that are
implemented by plugins. Additionally, this command allows for sourcing
new plugins without restarting vimperator.
new plugins without restarting Vimperator.
________________________________________________________________________________
|:ru| |:runtime|
||:runt[ime][!]| {file} ...|| +
||:runt[ime][!] {file} ...|| +
________________________________________________________________________________
Source the specified file from each directory in 'runtimepath'. Example: +
[c]:runtime plugin/foobar.vimp[c] +

View File

@@ -8,17 +8,15 @@ section:Initialization[initialization,startup]
At startup, Vimperator completes the following tasks in order.
1. Vimperator can perform user initialization commands. When
one of the following is successfully located, it is executed, and no
further locations are tried.
one of the following is successfully located, it is executed, and no
further locations are tried.
a. |$VIMPERATOR_INIT| _$VIMPERATOR_INIT_ -- May contain a single ex
command (e.g.,
a. |$VIMPERATOR_INIT|
_$VIMPERATOR_INIT_ -- May contain a single Ex command (e.g.,
"[c]:source {file}[c]").
b. [a]\~/_vimperatorrc[a] -- Windows only. If this file exists, its
contents are executed and
_$MY_VIMPERATORRC_ set to its path.
c. [a]\~/.vimperatorrc[a] -- If this file exists, its contents are
executed.
b. [a]\~/_vimperatorrc[a] -- Windows only. If this file exists, its contents
are executed and _$MY_VIMPERATORRC_ set to its path.
c. [a]\~/.vimperatorrc[a] -- If this file exists, its contents are executed.
2. If 'exrc' is set, then any RC file in the current directory is also sourced.

View File

@@ -18,7 +18,7 @@ sourced.
________________________________________________________________________________
|:hi| |:highlight| +
||:hi[light] [-append] {group}[{selector}] [{css}]|| +
||:hi[ghlight][!] [-append] {group}[{selector}] [{css}]|| +
________________________________________________________________________________
Highlight {group} with {css}. Normally, {css} is checked for
valid syntax before it's applied. Once you're certain it's
@@ -86,7 +86,7 @@ Valid groups are:
-------------------------------------------------------
Every invocation completely replaces the styling of any previous invocation,
unless [-append] (short option: -a) is provided, in which case, {css} is
unless *-append* (short option: *-a*) is provided, in which case {css} is
appended to its current value. If {css} is not provided, any styles matching
{group} are listed.
________________________________________________________________________________
@@ -103,12 +103,12 @@ ________________________________________________________________________________
||:sty[le][!] [-name={name}] [-append] {filter} [{css}]|| +
________________________________________________________________________________
Add CSS styles to the browser or to web pages. {filter} is a comma
separated list of URLs to match. URLs ending with [c]*[c] are matched as
prefixes, URLs not containing any [c]:[c] or [c]/[c] characters are
separated list of URLs to match. URLs ending with *\** are matched as
prefixes, URLs not containing any *:* or */* characters are
matched as domains. If {name} (short option: [c]-n[c]) is provided, any
existing style with the same name is overridden, and the style may later
be deleted using {name}. If -append (short option: [c]-a[c]) is provided
along with [c]-name[c], {css} and {filter} are appended to its current
be deleted using {name}. If *-append* (short option: *-a*) is provided
along with *-name*, {css} and {filter} are appended to its current
value.
If {css} isn't provided, matching styles are listed.
@@ -123,9 +123,9 @@ style for [c]www.google.com,mozilla.org[c], will result in a style for
[c]www.google.com[c]. The available options are:
* [c]-name[c]: The name provided to [c]:style[c] (short option:
[c]-n[c])
*-n*)
* [c]-index[c]: For unnamed styles, the index listed by [c]:style[c]
(short option: [c]-i[c])
(short option: *-i*)
________________________________________________________________________________
// vim: set filetype=asciidoc:

View File

@@ -101,7 +101,7 @@ buffer, it is selected. With [!] the next buffer matching the argument is
selected, even if it cannot be identified uniquely. Use [m]b[m] as a
shortcut to open this prompt.
If argument is [a]#[a], the alternate buffer will be selected (see [m]<C-^>[m]).
If argument is [a]\#[a], the alternate buffer will be selected (see [m]<C-^>[m]).
If no argument is given the current buffer remains current.
________________________________________________________________________________
@@ -153,7 +153,7 @@ ________________________________________________________________________________
||:[count]bn[ext] [count]|| +
________________________________________________________________________________
Switch to the next or [count]th tab. Cycles to the first tab when the last is
selected and {count} is not specified.
selected and [count] is not specified.
________________________________________________________________________________
@@ -203,8 +203,8 @@ ________________________________________________________________________________
||:[count]u[ndo] [a][url][a]|| +
||[count]u||
________________________________________________________________________________
Undo closing of a tab. If a count is given, don't close the last but the
[count]th last tab. With [a][url][a] restores the tab matching the URL.
Undo closing of a tab. If a count is given, don't undo the last but the
[count]th last closed tab. With [a][url][a] restores the tab matching the URL.
________________________________________________________________________________

View File

@@ -15,7 +15,7 @@ bare-looking window. The menubar, navigation bar, and bookmark bars are hidden.
In case you missed the notice in the help:Introduction[intro.html], you can
regain these by issuing the command
:set go+=mTb<CR>
\{nbsp}[c]:set go+=mTB<CR>[c]
where [m]<CR>[m] represents pressing the <Enter> or <Return> key.
If you're a veteran Vim user, this may look familiar. It should.
@@ -29,18 +29,18 @@ section:Vimperator's{nbsp}modal{nbsp}interface[modal]
Vimperator's power, like Vim's, comes from it's modal interface. Keys have
different meanings depending on which mode the browser is in. Vimperator has
several modes, but the 2 most important are ``normal'' mode and
``command-line'' mode.
several modes, but the 2 most important are ``Normal'' mode and
``Command-line'' mode.
When Vimperator starts, it is in normal mode by default. This is probably where
When Vimperator starts, it is in Normal mode by default. This is probably where
you will spend the majority of your time.
The other core mode of Vimperator, command-line mode, can be entered from
normal mode by typing a \':' (colon). You will frequently see Vimperator
The other core mode of Vimperator, Command-line mode, can be entered from
Normal mode by typing a \':' (colon). You will frequently see Vimperator
commands start with a \':', indicating that what follows is a command.
To return to normal mode command-line mode, type [m]<Esc>[m]. Pressing
[m]<Esc>[m] will also return you to normal mode from most other modes in
To return to Normal mode from Command-line mode, type [m]<Esc>[m]. Pressing
[m]<Esc>[m] will also return you to Normal mode from most other modes in
Vimperator.
section:Getting{nbsp}help[getting-help]
@@ -51,7 +51,7 @@ Most of the documentation for Vimperator's features are easily found using the
[c]:help[c] command. For example, you can find help on the [c]:help[c] command
by typing
:help :help<CR>
\{nbsp}[c]:help :help<CR>[c]
Similarly, help on configurable options is available with [c]:help
'{option_name}'[c]. (Note the single quotes around the option name as in Vim.)
@@ -59,8 +59,8 @@ Information on all available options is, predictably, [c]:help options[c].
and you can find out about the [m]gt[m] and [m]gT[m] mapping with
:help gt<CR>
:help gT<CR>
\{nbsp}[c]:help gt<CR>[c] +
\{nbsp}[c]:help gT<CR>[c]
Finally, in addition to the help system itself, [c]:exusage[c], [c]:viusage[c]
and [c]:optionusage[c] are useful quick-reference commands.
@@ -73,7 +73,7 @@ The efficiency of Vimperator, as with the legendary editor it was inspired by,
relies on the user being able to keep his fingers on the keyboard where they
can do the most good. While there are some areas where the mouse is clearly
superior at, such as GUI design or some games, Vimperator acts on the
assumption that the web browser doesn't have to be one of those.
assumption that a web browser doesn't have to be one of those.
Here are some areas where the mouse is typically considered indisposable, and
how Vimperator challenges this preconception.
@@ -115,15 +115,15 @@ Vimmers.
close the active tab (delete the buffer)
To open a web page in a new tab, use the [c]:tabopen {url}[c]. To open a URL in
the current tab, use [c]:open[c]. The normal mode mappings [m]t[m] and [m]o[m],
respectively, map to these commands, so the following pairs sequences are
the current tab, use [c]:open[c]. The Normal mode mappings [m]t[m] and [m]o[m],
respectively, map to these commands, so the following pairs of sequences are
equivalent:
:open my.webmail.com<CR>
omy.webmail.com<CR>
\{nbsp}[c]:open my.webmail.com<CR>[c] +
\{nbsp}[m]omy.webmail.com<CR>[m]
:tabopen vimperator.org<CR>
tvimperator.org<CR>
\{nbsp}[c]:tabopen vimperator.org<CR>[c] +
\{nbsp}[m]tvimperator.org<CR>[m]
section:Some{nbsp}hints{nbsp}about{nbsp}surfing...[hints-tutorial]
@@ -142,7 +142,7 @@ type uniquely identifies any given link, Vimperator will follow that link
immediately without any further user input.
Whichever way you choose to indicate your target link, once Vimperator has
highlighted the link you want, simply hit [m]<Enter>[m] to open it.
highlighted the link you want, simply hit <Enter> to open it.
The most common hint mode is called help:QuickHint{nbsp}mode[various.html,f].
To activate QuickHint mode, press either [m]f[m] or [m]F[m]. The lower-case
@@ -162,12 +162,12 @@ Say you get half-way done typing in a new URL, only to remember that you've
already got that page open in the previous tab. Your command line might look
something like this:
:open my.partial.url/fooba
\{nbsp}[c]:open my.partial.url/fooba[c]
You can exit the command line and access the already loaded page with the
following:
<Esc>gT
\{nbsp}[m]<Esc>gT[m]
section:Saving{nbsp}for{nbsp}posterity{nbsp}-{nbsp}vimperatorrc[vimperatorrc]
@@ -189,8 +189,8 @@ Vimperator supports all of Vim's classic methods of exiting.
* [c]:xall[c] -- command to quit and save the current browsing
session for next time; the default.
* [c]:qall[c] -- command to quit _without_ saving the session
* [m]ZZ[m] -- normal mode mapping equivalent to [c]:xall[c]
* [m]ZQ[m] -- normal mode mapping equivalent to [c]:qall[c]
* [m]ZZ[m] -- Normal mode mapping equivalent to [c]:xall[c]
* [m]ZQ[m] -- Normal mode mapping equivalent to [c]:qall[c]
section:Where{nbsp}did{nbsp}Firefox{nbsp}go?[whither-firefox]

View File

@@ -21,7 +21,7 @@ ________________________________________________________________________________
Execute Normal mode commands {commands}. This makes it possible to execute
Normal mode commands typed on the command line. {commands} is executed like it
is typed. If the [!] is given, mappings will not be used. {commands} should be
a complete command. {commands} cannot start with a space. Put a 1 (one) before
a complete command. {commands} cannot start with a space. Put 1 space before
it, 1 space is one space.
________________________________________________________________________________
@@ -94,7 +94,7 @@ section:Uncategorized{nbsp}help[uncategorized]
|<C-[>| |<Esc>| +
||<Esc>||
________________________________________________________________________________
Focus content. Exits command-line or hint mode and returns to browser
Focus content. Exits Command-line or Hints mode and returns to Normal
mode. Also focuses the web page in case a form field has focus and eats
our key presses.
________________________________________________________________________________
@@ -103,16 +103,9 @@ ________________________________________________________________________________
|<Insert>| |i| +
||i||
________________________________________________________________________________
Start caret mode. This mode resembles the Vim normal mode where you see a text
cursor and can move around. If you want to select text in this mode, press
Start caret mode. This mode resembles the Vim's Normal mode where you see a
text cursor and can move around. If you want to select text in this mode, press
[m]v[m] to start its Visual mode.
________________________________________________________________________________
//|:pc| |:pclose| +
//||:pc[lose]||
//________________________________________________________________________________
//Close preview window on bottom of screen.
//________________________________________________________________________________
// vim: set filetype=asciidoc: