1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-23 05:57:58 +01:00

all mappings apart from various insert modes are finally there where they should be

This commit is contained in:
Martin Stubenschrott
2008-02-24 01:47:47 +00:00
parent 800516acba
commit f86df3e65a
10 changed files with 521 additions and 548 deletions

View File

@@ -61,6 +61,27 @@ vimperator.config = {
vimperator.open(matches[1] + newNum + matches[3]);
}
vimperator.mappings.add([vimperator.modes.NORMAL],
["y"], "Yank current location to the clipboard",
function () { vimperator.copyToClipboard(vimperator.buffer.URL, true); });
// opening websites
vimperator.mappings.add([vimperator.modes.NORMAL],
["o"], "Open one or more URLs",
function () { vimperator.commandline.open(":", "open ", vimperator.modes.EX); });
vimperator.mappings.add([vimperator.modes.NORMAL], ["O"],
"Open one or more URLs, based on current location",
function () { vimperator.commandline.open(":", "open " + vimperator.buffer.URL, vimperator.modes.EX); });
vimperator.mappings.add([vimperator.modes.NORMAL], ["t"],
"Open one or more URLs in a new tab",
function () { vimperator.commandline.open(":", "tabopen ", vimperator.modes.EX); });
vimperator.mappings.add([vimperator.modes.NORMAL], ["T"],
"Open one or more URLs in a new tab, based on current location",
function () { vimperator.commandline.open(":", "tabopen " + vimperator.buffer.URL, vimperator.modes.EX); });
vimperator.mappings.add([vimperator.modes.NORMAL],
["<C-a>"], "Increment last number in URL",
function (count) { incrementURL(count > 1 ? count : 1); },
@@ -70,6 +91,82 @@ vimperator.config = {
["<C-x>"], "Decrement last number in URL",
function (count) { incrementURL(-(count > 1 ? count : 1)); },
{ flags: vimperator.Mappings.flags.COUNT });
vimperator.mappings.add([vimperator.modes.NORMAL], ["~"],
"Open home directory",
function () { vimperator.open("~"); });
vimperator.mappings.add([vimperator.modes.NORMAL], ["gh"],
"Open homepage",
function() { BrowserHome(); });
vimperator.mappings.add([vimperator.modes.NORMAL], ["gH"],
"Open homepage in a new tab",
function ()
{
var homepages = gHomeButton.getHomePage();
vimperator.open(homepages, /\bhomepage\b/.test(vimperator.options["activate"]) ?
vimperator.NEW_TAB : vimperator.NEW_BACKGROUND_TAB);
});
vimperator.mappings.add([vimperator.modes.NORMAL], ["gu"],
"Go to parent directory",
function (count)
{
function isDirectory(url)
{
if (/^file:\/|^\//.test(url))
{
//var strippedFilename = url.replace(/^(file:\/\/)?(.*)/, "$2");
var file = vimperator.io.getFile(url);
if (!file.exists() || !file.isDirectory())
return false;
else
return true;
}
// for all other locations just check if the URL ends with /
return /\/$/.test(url);
}
if (count < 1)
count = 1;
var url = vimperator.buffer.URL;
for (var i = 0; i < count; i++)
{
if (isDirectory(url))
url = url.replace(/^(.*?:)(.*?)([^\/]+\/*)$/, "$1$2/");
else
url = url.replace(/^(.*?:)(.*?)(\/+[^\/]+)$/, "$1$2/");
}
url = url.replace(/^(.*:\/+.*?)\/+$/, "$1/"); // get rid of more than 1 / at the end
if (url == vimperator.buffer.URL)
{
vimperator.beep();
return;
}
vimperator.open(url);
},
{ flags: vimperator.Mappings.flags.COUNT });
vimperator.mappings.add([vimperator.modes.NORMAL], ["gU"],
"Go to the root of the website",
function ()
{
var uri = content.document.location;
if (/(about|mailto):/.test(uri.protocol)) // exclude these special protocols for now
{
vimperator.beep();
return;
}
vimperator.open(uri.protocol + "//" + (uri.host || "") + "/");
});
vimperator.mappings.add([vimperator.modes.NORMAL], ["<C-l>"],
"Redraw the screen",
function () { vimperator.commands.redraw(); });
}
}